之间有什么区别
my $foo
和
my ($foo)
答案 0 :(得分:7)
my $a
和my ($a)
之间没有区别。
然而,
之间存在着天壤之别my $a = some_function();
和
my ($a) = some_function();
第一个示例在标量上下文中调用some_function
。第二个在列表上下文中调用它。
如果你的功能如下:
sub some_function {
return ( 'Larry', 'Moe', 'Curly' );
}
然后你的结果将是:
my $a = some_function(); # $a gets "Curly", the last element in the list.
my ($a) = some_function(); # $a gets "Larry" and the other two values are discarded.