Perl子程序中的私有变量
在 Perl 中,默认情况下,所有变量都是全局变量,这意味着可以在程序的任何位置访问这些变量。但你可以使用 my 运算符随时创建名为 局部变量的私有变量。
my 运算符将变量限定在代码的特定区域内,该区域内可以对其进行使用和访问。在此区域之外,无法使用或访问此变量。此区域称为其作用域。局部作用域通常是包含一组大括号的代码块,如定义子程序主体或标记 if、while、for、foreach 和 eval 语句的代码块。
以下是显示如何使用 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!
广告