Perl docs建議是:perl的S /這/那/ R ==> 「裸詞發現哪裏算料」
$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 2011-12-20 20:00:19
編輯:顯然'use v5.13.2'是's // // r'的最低級別。 – BRFennPocock 2011-12-20 20:06:39
我們在這裏學到了什麼?我們已經瞭解到,我們應該閱讀以* perl分發形式出現的文檔*,而不是從「某處在網上」閱讀文檔。 :-) – tadmc 2011-12-20 20:24:03