Perl docs이 좋습니다 "bareword는 운영자가 예상되는 곳 발견" r
수정자를 사용하면 코드가 작동하지 않습니다. 그러나 $bar
을 수정하고 싶지 않습니다. 나는 물론,펄의 /이/그/r은 ==>
my $foo = $bar;
$foo =~ s/this/that/;
와
my $foo = $bar =~ s/this/that/r;
가 더 나은 솔루션이 있습니까 대체 할 수있다?
Perl docs이 좋습니다 "bareword는 운영자가 예상되는 곳 발견" r
수정자를 사용하면 코드가 작동하지 않습니다. 그러나 $bar
을 수정하고 싶지 않습니다. 나는 물론,펄의 /이/그/r은 ==>
my $foo = $bar;
$foo =~ s/this/that/;
와
my $foo = $bar =~ s/this/that/r;
가 더 나은 솔루션이 있습니까 대체 할 수있다?
ruakh이 쓴대로 /r
은 perl 5.14에서 새로 추가되었습니다. 그러나 이전 버전의 perl에서이 작업을 수행 할 수 있습니다.
(my $foo = $bar) =~ s/this/that/;
더 나은 해결책이 없다, 아니합니다 (s///
은 본질적으로 초기화 과정의 일부로서 역할을하기 때문에 나는 보통, 한 줄에 쓰기 불구하고 :
my $foo = $bar; $foo =~ s/this/that/;
).하지 그런데 오류 메시지의 이유는 거의 확실하게 /r
플래그를 지원하지 않는 Perl 버전을 실행하고 있다는 것입니다. 이 플래그는 Perl 5.14에서 아주 최근에 추가되었습니다. 자신의 버전에 맞는 설명서를 사용하여 개발하는 것이 더 쉬울 수도 있습니다. 예를 들어 Perl 5.12.4를 사용하는 경우 http://perldoc.perl.org/5.12.4/perlop.html과 같습니다.
Perl 5.14에서 실행 중입니까? (헤더에'require v5.14;'가 있는지 확인하십시오.) – BRFennPocock
편집 :'use v5.13.2'는's /// r'의 최소 레벨입니다. – BRFennPocock
우리가 여기서 무엇을 배웠습니까? 우리는 "어딘가에있는 웹"에서 문서를 읽는 대신 * perl 배포판과 함께 제공된 * 문서를 읽어야 함을 배웠습니다. :-) – tadmc