perl如何打开一个文件,并对其中的字符串进行替换操作?比如 我建一个文本 最好能补个例子 新人 不太懂 谢

vi123里面内容是(abcadfadf)我想知道怎么打开这个123的文件并且把里面的adf替换为AWW不要单行命令!谢谢... vi 123里面内容是 (abc adf adf )我想知道怎么打开这个123的文件并且把里面的adf替换为AWW 不要单行命令!谢谢 展开
 我来答
星空深海J
2011-12-06
知道答主
回答量:28
采纳率:0%
帮助的人:27.2万
展开全部
楼上的方法是对的,perl读写的句柄不能混用,无法在原地做替换,必须输出另外一个文件。

如果是linux系统,原地替换可以用sed -i命令~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
土杜土杜
2011-12-05 · TA获得超过253个赞
知道小有建树答主
回答量:155
采纳率:71%
帮助的人:98.1万
展开全部
#! /usr/bin/perl -w
# changing all of 'adf' of every line within the file named 123 of the current directory to 'AWW'.

open( _123_, "<", "./123" ) or die "123 didn't exist in the current directory !\n";
open( _123_BAK_, ">", "./123.bak" ) or die "123.bak didn't exist in the current directory !\n";
while ( <_123_> ) {
chomp;
if ( /\badf\b/i ) {
s/adf/AWW/g;
}
print _123_BAK_ $_ . "\n";
}
close( _123_ );
close( _123_BAK_ );
system "mv ./123.bak ./123";
system "rm -rf ./123.bak";
追问
open( _123_, "<", "./123" )  这是什么意思呢 ?从./123输入到-123-?
追答
open操作符会让perl向操作系统申请一个123文件到你的程序的连接,_123_就是这个文件的文件操作符(filehandler)。我也是初学,上面这个程序是正确的但不是最简洁的,你可以参考Learning Perl写出更好的代码:)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式