in reply to Re^2: Misreading m// documentation (perlop =~ )
in thread Misreading m// documentation
True, but this doesn't apply here, it's literal a search pattern (i.e. compile time), the m is just optional:
Both generate exactly the same opcodes:
lanx@nc10-ubuntu:~$ perl -MO=Concise 'abc' =~ '\w{3}' __DATA__ 5 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -:1) v:{ ->3 4 </> match(/"\\w{3}"/) vKS/RTIME ->5 3 <$> const[PV "abc"] s ->4 - syntax OK lanx@nc10-ubuntu:~$ perl -MO=Concise 'abc' =~ m'\w{3}' __DATA__ 5 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -:1) v:{ ->3 4 </> match(/"\\w{3}"/) vKS/RTIME ->5 3 <$> const[PV "abc"] s ->4 - syntax OK
"expressions evaluated at runtime" are things like variables or functions or do-blocks...
DB<103> $x= '\w{3}' => "\\w{3}" DB<104> 'abc' =~ $x => 1 DB<105> sub regex { '\w{3}' } DB<106> 'abc' =~ regex() => 1
Cheers Rolf
( addicted to the Perl Programming Language)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Misreading m// documentation (perlop =~ )
by QM (Parson) on Mar 17, 2014 at 09:46 UTC |