我写了一个小测试脚本。
#!/usr/bin/perl -w
use strict;
my $head="a b";
sub test
{
my @arr=split / /,@_;
print $arr[0];
}
test $head;
输出为1
,而我实际上期待a
。任何人都可以告诉我我错在哪里
答案 0 :(得分:8)
split
的操作数在标量上下文中进行评估,标量上下文中的@_
计算为@_
(1
)中的元素数。你想要
sub test {
my @arr = split / /, $_[0];
print $arr[0];
}