【发布时间】:2013-08-04 01:14:53
【问题描述】:
好的,我想删除文件中第一次出现的字符串,比如“dog”,并且只删除第一次出现的字符串。因此,如果文件读取:
狗很开心。
这只狗喜欢奔跑。
输出将是
很高兴。
这只狗喜欢奔跑。
我有以下代码:
#!/usr/local/bin/perl
use warnings;
use strict;
my $file = $ARGV[0];
my $out = $ARGV[1];
open (IN, "<$file");
open (OUT, ">$out");
while(<IN>){
s/dog/ /;
print OUT $_;
}
close IN;
close OUT;
而且它有效,但它不是只替换第一个实例,而是替换单词的所有实例。我以为我必须使用全局修饰符 g 来使其替换所有实例?为什么它要替换我正在搜索的字符串的所有实例?这可能是一些我没有看到的简单错误。
【问题讨论】: