请教,perl 如何处理多个文件

 我来答
lilipat
高粉答主

2017-07-01 · 每个回答都超有意思的
知道大有可为答主
回答量:3万
采纳率:94%
帮助的人:5039万
展开全部

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式