2013-05-28 63 views
1

我写了一个小测试脚本。传递给函数的Perl参数

#!/usr/bin/perl -w 

use strict; 

my $head="a b"; 

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

test $head; 

输出为1,而不是我其实期待a。谁能告诉我在哪里,我错了

回答

8

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

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