$pattern = shift(@ARGV)
while(<ARGV>){
if(/$pattern/){
print $ARGV,": ",$_;
}
}
命令:./ myprog.pl大小文件*
File1:
SetSize
ResetSize
SETSIZE
resetSIZE
文件2:
This is a new file
and its Size is very small.
输出:
File1: SetSize
File1: ResetSize
File2: and its Size is very small
有人可以向我解释一下主要代码。我真的不明白有两个文件打印输出,每个while循环运行每个参数一次,如果条件只有1。 arg1(文件1)如何输出两次?
答案 0 :(得分:3)
while(<ARGV>)
有点像Perl魔术:它会从@ARGV
中列出的每个文件中提供行。相关文档:perlio: I/O Operators和perlvar: ARGV。