Perl docs khuyên này:perl s/này/đó/r ==> "bareword tìm thấy nơi khai thác dự kiến"
$foo = $bar =~ s/this/that/r;
Tuy nhiên, tôi nhận được lỗi này:
Bareword found where operator expected near
"s/this/that/r" (#1)
Đây là đặc trưng cho sửa đổi r
mà không có mã hoạt động. Tuy nhiên, tôi không muốn sửa đổi $bar
. tôi có thể, tất nhiên, thay
my $foo = $bar =~ s/this/that/r;
với
my $foo = $bar;
$foo =~ s/this/that/;
Có một giải pháp tốt hơn?
Điều này có đang chạy trên Perl 5.14 ...? (Hãy chắc chắn rằng bạn có một 'yêu cầu v5.14;' trong tiêu đề của bạn ...) – BRFennPocock
Chỉnh sửa: dường như 'sử dụng v5.13.2' là mức tối thiểu cho' s /// r'. – BRFennPocock
Chúng ta đã học được gì ở đây? Chúng tôi đã học được rằng chúng ta nên đọc các tài liệu * đi kèm với * ra phân phối perl thay vì đọc tài liệu từ "một nơi nào đó trên web". :-) – tadmc