Perl docs рекомендую этот:Perl s/это/что/г ==> "Bareword нашел, где оператор ожидается"
$foo = $bar =~ s/this/that/r;
Однако, я получаю эту ошибку:
Bareword found where operator expected near
"s/this/that/r" (#1)
Это относится только к модификатор r
, без него код работает. Однако я не хочу изменять $bar
. я могу, конечно, заменить
my $foo = $bar =~ s/this/that/r;
с
my $foo = $bar;
$foo =~ s/this/that/;
Есть ли лучшее решение? Не
Работает ли он на Perl 5.14 ...? (Убедитесь, что у вас есть 'require v5.14;' в вашем заголовке ...) – BRFennPocock
Редактировать: очевидно, 'use v5.13.2' является минимальным уровнем для' s /// r'. – BRFennPocock
Что мы узнали здесь? Мы узнали, что мы должны прочитать документы *, которые пришли с * out perl distribution, а не читать документы из «где-то в Интернете». :-) – tadmc