好的,所以我想删除文件中第一次出现的字符串,比如“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 来使其替换所有实例?为什么它要替换我正在搜索的字符串的所有实例?这可能是我没有看到的一些简单错误。