Perl参数传递给函数

时间:2013-05-28 05:24:44

标签: perl split arguments

我写了一个小测试脚本。

#!/usr/bin/perl -w

use strict;

my $head="a b";

sub test
{
my @arr=split / /,@_;
print $arr[0];
}

test $head;

输出为1,而我实际上期待a。任何人都可以告诉我我错在哪里

1 个答案:

答案 0 :(得分:8)

split的操作数在标量上下文中进行评估,标量上下文中的@_计算为@_1)中的元素数。你想要

sub test {
   my @arr = split / /, $_[0];
   print $arr[0];
}