perl中的函数参数传入后是存在存在数组@_中的而不是存在$_中,就算有一个元素也是如此。。。。
注意比较以下两个程序的区别,便可理解参数的含义:
1.
#!/usr/bin/perl
use 5.010;
sub greet{
state $last;
my $name=shift;
if(defined $last)
{
print "$last is here!!!\n";
}
else
{
print "no one is here...\n";
}
$last=$name;
}
greet('jim');
greet('lucy');
2.#!/usr/bin/perl use 5.010; sub greet{ state $last; my $name=$_; if(defined $last) { print "$last is here!!!\n"; } else { print "no one is here...\n"; } $last=$name; } greet('jim'); greet('lucy');
注意两者结果的区别。。。严格意义上讲第二个是错的。。。毫无意义的。