Regex Perl:将字符串替换为/without"+&引用;签名

Regex Perl:将字符串替换为/without"+&引用;签名,regex,perl,Regex,Perl,我正在试着更换部分绳子。目前我正在使用一种简单的方法,如下所示: my $text = $ARGV[0]; my $in_d = $ARGV[1]; my $out_d = "Sample_text"; $text =~ s/$in_d/$out_d/; 如果涉及“+”符号,则上述代码似乎不起作用。 例如,对于代码: my $text = "I+here starving here"; my $input_d = "I\+here"; my $out_d = "I"; $text =~ s

我正在试着更换部分绳子。目前我正在使用一种简单的方法,如下所示:

my $text = $ARGV[0];
my $in_d = $ARGV[1]; 
my $out_d = "Sample_text";

$text =~ s/$in_d/$out_d/;
如果涉及“+”符号,则上述代码似乎不起作用。 例如,对于代码:

my $text = "I+here starving here";
my $input_d = "I\+here";
my $out_d = "I";
$text =~ s/$input_d/$out_d/;
print $text."\n";
输出:

I+here starving here

我如何确保文本被替换而不考虑涉及的字符?提前感谢您的帮助。

使用
\Q
\E
序列来转义字符块

\Qfoo+\E
所以,应该是这样

$text =~ s/\Q$input_d\E/$out_d/;

您也可以使用该功能实现相同的效果。