给定以下 Perl 脚本:
# USAGE: ./flurp -x -vf file1 file2 file3 file4
# e.
$a = shift;
$b = shift;
$c = shift;
@d = <>;
# ei. value of $b = -vf
# eii. value of @d = content of file2, file3, file4
print "$b\n";
print "@d\n";
print "$ARGV\n";
这是输出:
-vf
{contents of file2, file3, file4}
file4
我对 的输出感到困惑print "$ARGV\n"
。如果我尝试这样做print "$ARGV[-1]\n"
,则会将空行打印到 STDOUT。如果我直接引用$ARG[2]
,我也会得到一个空行。
为什么使用file4
时要打印脚本$ARGV
?
作为一个反例,我尝试print "$d\n"
了 ,期望得到file4
. 我得到了一个空行,而不是预期的输出。如何$ARGV
工作?