分开写?试过,但是之前的读没关闭,少了这一步.一会试试..
On 10月17日, 上午8时32分, silent <[email protected]> wrote: > 额... 你是想改写文件的内容, 那么一边读一边写一个文件句柄恐怕不可以 > 用两个吧, > 1种方法是先全读出来放倒变量里, 再关闭文件, 从新以写打开,在把替换过的内容写进去 > 或者用林时候文件,最后在改名字覆盖 > > 2009/10/17 silent <[email protected]>: > > > while (<TIDFILE>) { 是表示读的意思 > > 写入的方法是 print TIDFILE $xxstring > > > 加油! > > > 2009/10/17 bio_gzd <[email protected]>: > >> 有以下程序段,各位看看有错误没?是一个用正则改写文件内容的 > > >> 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 讨论组”论坛。 要在此论坛发帖,请发电子邮件到 [email protected] 要退订此论坛,请发邮件至 [email protected] 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛 -~----------~----~----~----~------~----~------~--~---
