作者dipin (吃喝玩乐满天下)
看板perl
标题[问题] 读取和写入在同一个档案
时间Sat Mar 24 11:54:43 2007
请问如果要用像是s/str1/str2/g 这样的指令的话
可以让作用在同一个档案吗?
像是
要把档案中所有的4改成1111
print "please enter name of the file you want to modify:";
chomp($filename1=<>);
open (file1, $filename1) || die $!;
while (<file1>) {
s/4/1111/g; #取代
print file1 $_; #再印回去
}
close (file1);
#印出改後的档案内容
open (file1, $filename1) ||die $!;
print while (<file1>);
close (file1);
这是错的,请问要如果改呢?
有比较好的方法取代一个档案里的字串吗?
还是一定要另外开一个档案,然後把原本的unlink然後再改档名??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 69.226.235.186
1F:→ LiloHuang:你得找找书籍 了解一下seek truncate 03/24 13:13
2F:推 knep:你会喜欢 Tie::File 的.. XD 03/24 13:44
3F:推 Andor:perl -pi -e 's/4/1111/g' filename 详见perldoc perlrun 03/24 16:33