用两个吧,
1种方法是先全读出来放倒变量里, 再关闭文件, 从新以写打开,在把替换过的内容写进去
或者用林时候文件,最后在改名字覆盖
2009/10/17 silent <silent2600@gmail.com>:
> while (<TIDFILE>) { 是表示读的意思
> 写入的方法是 print TIDFILE $xxstring
>
> 加油!
>
> 2009/10/17 bio_gzd <tmfc865@gmail.com>:
>> 有以下程序段,各位看看有错误没?是一个用正则改写文件内容的
>>
>> unless ($new_tid =~ m/^\d{8,8}[^\w]/) {
>> print "输入错误或为空行";
>> } else {
>> chop $new_tid;
>> open TIDFILE, ">$_tid_file" or die "文件打开错误,请检查!!";
>> while (<TIDFILE>) {
>> s/^(TID)\=(\d{8})/$1=$new_tid/g ;
>> print ;
>> close (TIDFILE);
>> }
>>
>> 看看有错没?总是无法写入,如果TIDFILE里面不设置重定向符,直接print输出结果证明替换是正确的,但是一旦要写入到TIDFILE里面要么
>> 出错,要么就是0字节.问题出在哪里?麻烦各位指点一下了.
>> >>
>>
>
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论