[英]How should I use the “my” keyword in Perl?
我一直在網上看到Perl腳本中的變量名前面的“my”關鍵字,但我不知道這意味着什么。 我嘗試在線閱讀手冊頁和其他網站,但鑒於我看到它與手冊之間的區別,我很難辨別它是什么。
例如,它用於獲取此帖子中數組的長度: 在Perl中查找數組的大小
但手冊說:
我聲明列出的變量是封閉的塊,文件或eval的本地(詞法)。 如果列出了多個值,則列表必須放在括號中。
它做什么以及如何使用?
my
限制變量的范圍 。 變量的范圍是可以看到的。 將變量的范圍縮小到需要變量的位置是良好編程的基本方面。 它使代碼更易讀,更不容易出錯,並帶來一系列派生的好處。
如果不使用my
聲明變量,則會創建一個全局變量。 這是應該避免的。 使用use strict;
告訴Perl你想要阻止隱式創建全局變量,這就是為什么你應該總是使用use strict;
(並use warnings;
)在您的程序中。
相關閱讀: 為什么use strict;
並use warnings;
?
快速摘要: my
創建了一個新變量, local
暫時修改變量的值
在下面的示例中,$ :: a在“全局”命名空間中引用$ a。
$a = 3.14159;
{
my $a = 3;
print "In block, \$a = $a\n";
print "In block, \$::a = $::a\n";
}
print "Outside block, \$a = $a\n";
print "Outside block, \$::a = $::a\n";
# This outputs
In block, $a = 3
In block, $::a = 3.14159
Outside block, $a = 3.14159
Outside block, $::a = 3.14159
即, local
臨時更改變量的值,但僅在其存在的范圍內。
資料來源: http : //www.perlmonks.org/? node_id = 94007
更新
關於our
和my
之間our
區別請看
(感謝ThisSuitIsBlackNot )。
通過我的私有變量()是的主要文檔my
。
在您提到的數組大小示例中,它不用於查找數組的大小。 它用於創建一個新變量來保存數組的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.