【发布时间】:2017-10-24 12:05:33
【问题描述】:
我对@987654322@ 有一个奇怪的问题,默认情况下它不会将split 放入默认数组中。
下面是一些玩具代码。
#!/usr/bin/perl
$A="A:B:C:D";
split (":",$A);
print $_[0];
这不会打印任何内容。但是,如果我明确拆分为默认数组,例如
#!/usr/bin/perl
$A="A:B:C:D";
@_=split (":",$A);
print $_[0];
正确打印 A。我的 perl 版本是 v5.22.1。
【问题讨论】:
-
@_不是“默认数组”。@_是包含子程序参数的数组。 Perl 文档中没有任何内容将其称为默认数组。 -
@DaveCross 这并不完全正确。 perldoc.perl.org/perlvar.html#%40ARG 表示在子例程中,@ 是数组运算符 pop 和 shift_ 的默认数组。但你当然是对的。