用perl写一个程序,对文本文件进行修改,如果匹配到第一个条件的时候就不做任何修改,直接退出;否则继续

[复制链接]
查看11 | 回复3 | 2011-1-11 17:32:45 | 显示全部楼层 |阅读模式
行匹配,对第二第三……个条件进行匹配和修改;现在我的疑问是匹配到第一个条件之后如何不对文件做修改就退出?我用while读取文件的话会一直输出到匹配到的第一个条件那行
zoujing1这位兄弟能否详细说明一下如何存储修改后的结果?

回复

使用道具 举报

千问 | 2011-1-11 17:32:45 | 显示全部楼层
my $output;my $not_modify_flag;While(my $readin=){if ($readin 匹配第一个条件){$not_modify_flag=1; last;} ## 匹配第一个条件,标记一下后,直接跳出循环elsif ($readin 匹配第二个条件){ $output.= $修改后的内容; }elsif ($readin 匹配第三个条件){ $output.= $修改后的内容; }else {$output.=$readin;} ## 如果不匹配上述三个条件,则原样输出}close FH;if (not defined $not_modify_flag){print
回复

使用道具 举报

千问 | 2011-1-11 17:32:45 | 显示全部楼层
while()匹配到了,你可以直接调用exit退出嘛,也可以用last终止while循环。
回复

使用道具 举报

千问 | 2011-1-11 17:32:45 | 显示全部楼层
存储所有的第二三……的修改后的结果FH',然后如果有匹配第一个条件则不输出(即源文件不改变),否则就输出FH'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行