【问题标题】:Perl argument passing to a functionPerl 参数传递给函数
【发布时间】:2013-05-28 05:24:44
【问题描述】:

我写了一个小测试脚本。

#!/usr/bin/perl -w

use strict;

my $head="a b";

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

test $head;

输出是1 而我实际上期待的是a。谁能告诉我哪里错了

【问题讨论】:

    标签: perl split arguments


    【解决方案1】:

    split 的操作数在标量上下文中求值,而在标量上下文中@_ 求值为@_ (1) 中的元素数。你想要的

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

    【讨论】:

      猜你喜欢
      • 2011-12-28
      • 1970-01-01
      • 2013-01-27
      • 2021-04-18
      • 2015-07-05
      • 1970-01-01
      相关资源
      最近更新 更多