-
海绵宝宝撒
重要的影响是在声明变量的同时初始化变量:my ($a) = @b; # assigns $a = $b[0]my $a = @b; # assigns $a = scalar @b (length of @b)另一个重要的时刻是声明多个变量。my ($a,$b,$c); # correct, all variables are lexically scoped nowmy $a,$b,$c; # $a is now lexically scoped, but $b and $c are not如果您使用最后一条语句,则会给您一个错误use strict。
-
守着星空守着你
简短的答案是,括号在列表的左侧使用时会强制列表上下文=。其他每个答案都指出了在其中有所作为的特定情况。确实,您应该通读perlfunc,以更好地了解函数在列表上下文(而不是标量上下文)中被调用时的行为方式不同。
-
MYYA
请查看perdoc perlsub以获取有关该my运算符的更多信息。这是一个小摘录:概要: my $foo; # declare $foo lexically local my (@wid, %get); # declare list of variables local my $foo = "flurp"; # declare $foo lexical, and init it my @oof = @bar; # declare @oof lexical, and init it my $x : Foo = $y; # similar, with an attribute applied