請教,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