2008年12月8日星期一

Re: [PerlChina] 文件描述符如何同时读写( 以不使用<>的方式更新文件 )

替换文件内容可以用Tie::File.
很好用的,看下perldoc的例子就知道了。对数组的操作就可以直接替换文件。
可以用File::Find来search应该替换哪个文件,用Tie::File来修改文件内容。

2008/12/7 joe jiang <lamp.purl@gmail.com>
应该可以用 File::Find 的结果来填充 @ARGV,然后 print 就能配合 $^I 完成你
需要的修改了。

On 日, 2008-12-07 at 19:06 +0800, owen nirvana wrote:
> 我想批量替换某些文件的内容,按照learning perl 的方法可以从命令行读入,但是这种情况似乎并不适用于目录嵌套的情况,
>
> # from learning perl
> $^I = ".bak"
> while (<>) {
> s/A/B/;
> print;
> }
>
> #my code
>
>
> $^I = '';
> if ( $filename =~ /AAA/i  ) {
> open FILE, "<", $filename or die "bla bla bla...";
> while (<FILE>) {
>   s/A/B/;
>  print;
> }
> }
>
>
>
> 这样还是仅仅打印到STDOUT了,该如何解决,谢谢
>
> 注:文件分布于个子目录之下,我是用File::Find遍历查找的,这样的话就只可以使用<FILE>了,为了更灵活一些,我也觉得把一切筛选工作让命令行来解决并不太合适
> gtalk:freeespeech@gmail.com
> _______________________________________________
> China-pm mailing list
> China-pm@pm.org
> http://mail.pm.org/mailman/listinfo/china-pm

_______________________________________________
China-pm mailing list
China-pm@pm.org
http://mail.pm.org/mailman/listinfo/china-pm

没有评论: