Что-то еще странное здесь ...
~> cat test.pl
$a = "234*343";
$i = "FOO";
$a =~ s/\*/$i/;
print $a;
~> perl test.pl
234FOO343
Нашел что-то:
~> cat test.pl
$a = "234*343";
$i = "*4";
$a =~ m/$i/;
print $a;
~> perl test.pl
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE 4/ at test.pl line 4.
Решение, экранируйте специальные символы из переменной, используя \Q
и \E
, например (TIMTOWTDI)
~> cat test.pl
$a = "234*343";
$i = "*4";
$a =~ m/\Q$i\E/;
print $a;
~> perl test.pl
234*343