请教,perl 如何处理多个文件
请教,perl 如何处理多个文件
小骆驼书9.5.3讲解了一个更新大量文件的例子,实际操作发现一个问题,即如何用while(<>)读取多个文件,具体如下:
上百个形如file03.dat的文件需要处理,用while(<>)读入,在命令行输入perl program file*.dat,报错:cannot open file*.dat,invalid argument
请问各位大侠,这种情况如何操作多个文件,总不能挨个输入吧,本人菜鸟,希望各位大侠不吝赐教,多谢!
对,在windows上
搜索到的,应该行不通
[Copy to clipboard] [ - ]CODE:
apile> cat tt10.pl
#!/usr/bin/perl
while(<>){
print ;
}
apile> cat a1.txt
a
b
c
d
apile> cat a2.txt
1
2
3
4
5
apile> perl tt10.pl a?.txt
a
b
c
d
1
2
3
4
5
apile>
churchmice
在linux上
file*.dat
是由shell帮你替换完成的
所以perl得到的参数是替换以后的参数
windows上可能替换机制不一样,cmd没有帮你处理file*.dat,而是直接传递给了perl
你在perl里面glob一下好了
@ARGV = glob("file*.dat");
while(<>){
}
可以用了,也理解了,多谢指点!
我要认真学习Perl