【发布时间】:2023-03-29 13:44:01
【问题描述】:
示例如下:
$a = shift;
$b = shift;
push(@ARGV,$b);
$c = <>;
print "\$b: $b\n";
print "\$c: $c\n";
print "\$ARGV: $ARGV\n";
print "\@ARGV: @ARGV\n";
然后输出:
$b: file1
$c: dir3
$ARGV: file2
@ARGV: file3 file1
我不明白在没有任何索引的情况下打印 $ARGV 时到底发生了什么。它是否打印第一个参数,然后将其从数组中删除?因为我认为在所有语句之后数组变为:
file2 file3 file1
调用:
perl port.pl -axt file1 file2 file3
file1 包含以下行:
dir1
dir2
文件2:
dir3
dir4
dir5
文件3:
dir6
dir7
【问题讨论】:
标签: perl command-line-arguments argv shift