Perl子程序中的私有变量


在 Perl 中,默认情况下,所有变量都是全局变量,这意味着可以在程序的任何位置访问这些变量。但你可以使用 my 运算符随时创建名为 局部变量私有变量。

my 运算符将变量限定在代码的特定区域内,该区域内可以对其进行使用和访问。在此区域之外,无法使用或访问此变量。此区域称为其作用域。局部作用域通常是包含一组大括号的代码块,如定义子程序主体或标记 if、while、for、foreacheval 语句的代码块。

以下是显示如何使用 my 运算符定义单个或多个私有变量的示例 -

sub somefunc {
   my $variable; # $variable is invisible outside somefunc()
   my ($another, @an_array, %a_hash); # declaring many variables at once
}

示例

让我们检查以下示例来区分全局变量和私有变量 -

 在线演示

#!/usr/bin/perl
# Global variable
$string = "Hello, World!";
# Function definition
sub PrintHello {
   # Private variable for PrintHello function
   my $string;
   $string = "Hello, Perl!";
   print "Inside the function $string\n";
}
# Function call
PrintHello();
print "Outside the function $string\n";

输出

执行上述程序时,它会生成以下结果 -

Inside the function Hello, Perl!
Outside the function Hello, World!

更新日期: 2019 年 11 月 29 日

436 次浏览

启动您的职业

完成课程获得证书

开始学习
广告