Perl docs raccomandano questo:perl s/presente/che/r ==> "bareword trovato in cui l'operatore prevede"
$foo = $bar =~ s/this/that/r;
Tuttavia, ottengo questo errore:
Bareword found where operator expected near
"s/this/that/r" (#1)
Questo è specifico per il modificatore r
, senza che il codice funzioni. Tuttavia, non desidero modificare $bar
. posso, ovviamente, sostituire
my $foo = $bar =~ s/this/that/r;
con
my $foo = $bar;
$foo =~ s/this/that/;
C'è una soluzione migliore?
È in esecuzione su Perl 5.14 ...? (Assicurati di avere un 'require v5.14;' nella tua intestazione ...) – BRFennPocock
Modifica: apparentemente 'use v5.13.2' è il livello minimo per' s /// r'. – BRFennPocock
Cosa abbiamo imparato qui? Abbiamo appreso che dovremmo leggere i documenti * forniti con * perl distribuzione piuttosto che leggere documenti da "da qualche parte sul web". :-) – tadmc