以下从
http://perldoc.perl.org/perlrequick.html#Search-and-replace获取的代码片段给了我
Bareword found where operator expected at blub.pl line 2,near
“s/dogs/cats/r”
这有什么问题?我在Windows XP上使用Perl 5.12.4.
码:
$x = "I like dogs."; $y = $x =~ s/dogs/cats/r; print "$x $y\n";
解决方法
您正在查看Perl 5.14的文档.该示例未出现在
the documentation for Perl 5.12中.
您可以看到它在perl 5.13.2 delta中被标记为新功能.
您可以复制该变量,然后对其进行修改以在旧版本的Perl中实现相同的效果.
$x = "I like dogs."; $y = $x; $y =~ s/dogs/cats/; print "$x $y\n";
或者你可以使用惯用的“单线”:
$x = "I like dogs."; ($y = $x) =~ s/dogs/cats/; print "$x $y\n";