急!!!文本操作问题,求支招
小弟写了一个程序,想将一个文件夹中所有的文本文件替换掉部分内容,然后保存
程序主函数如下:
- Perl code
sub main{ $^I = ".bak"; while(@ARGV) { $ARGV = shift @ARGV; if(-B $ARGV) { warn "$ARGV is a B file!\n"; next; } if(!open(ARGV, $ARGV)) { warn "Can't open $ARGV: $!\n"; next; } print $ARGV." changed\n"; while(<ARGV>) { #s///; print; } close(ARGV); } unlink glob "./log/*.bak"; }print $ARGV." changed\n";
只有操作第一个文件时打印出来了
同时,第一个文件的操作结果显示到命令行,而文件本身没有变化
第一个文件以外的文件修改成功了
很不解这是为什么啊~~~
求大牛们解释并赐予解决方案啦~~
拜谢!
[解决办法]
- Perl code
如果你想让别人看你的代码,先学会贴代码。
[解决办法]
写文件可不是简单的print,需要加文件句柄的