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 次瀏覽

啟動您的職業

完成課程獲得證書

開始學習
廣告
© . All rights reserved.