任何人都知道如何在perl中仅替换第一个匹配而不是全部匹配。如果我没有使用/ g它会替换所有。
$string =~ s/regex/replacement/;
答案 0 :(得分:1)
use strict;
use warnings;
my $string = 'foo bar baz foo foo bar';
my $replace = 'bar';
$string =~ s/$replace/REPLACEMENT/;
print "$string\n";
或使用\Q
自动转义非单词字符:
$string =~ s/\Q$replace/REPLACEMENT/;