在例如Perl脚本中,我一直在变量名前面看到my
关键字,但我不知道它意味着什么。我试着在网上阅读手册页和其他网站,但我很难分辨它的用途,因为我认为它的用途与手册不同。
例如,它用于在本文中获取数组的长度:在Perl中查找数组的大小
但手册上说:
my
将列出的变量声明为封闭块、文件或eval的本地变量(在词汇上)。如果列出了多个值,则必须将列表放在括号中。
它是做什么的,它是如何使用的?
发布于 2014-01-02 20:00:05
发布于 2014-01-02 18:46:46
快速总结: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
ie,local
暂时更改变量的值,但只在它存在的范围内。
来源:id=94007
更新
关于our
和my
的区别,请参阅
(感谢ThisSuitIsBlackNot)。
发布于 2014-01-02 18:47:30
私有变量通过my()是my
的主要文档。
在您提到的数组大小示例中,它不用于查找数组的大小。它用于创建一个新变量来保存数组的大小。
https://stackoverflow.com/questions/20889609
复制相似问题