I've added the requested information to the previous reply. However, to be thorough, I've run the full script on v5.8.0 as well. When using our $x = qr/(??{ $x })/;, the script works as desired. However, when using my $x = qr/(??{ $x })/;, the script throws no strictures errors, but does throw a warning:
$ perl rec_regex.pl Use of uninitialized value in substitution iterator at perm.pl line 17 +, <DATA> line 1. <7> { ... } </7> <7> { { } } </7> { <7> { { } } </7> } { <3> { } </3> { <7> { { } } </7> } } <7> { ... } </7>
Additionally, as you can see it only does the second level of recursion again. Nevertheless, I never used my originally, so just sharing for addition data.
Also note, I just discovered that the original code DOES work currently if declared with our. It just won't pass strictures validation. Will update my original question with this data soon as I get back from pharmacy. Got a toothache coming on.
In reply to Re^8: (??{ code }) versus (?PARNO) for recursive regular expressions
by wind
in thread (??{ code }) versus (?PARNO) for recursive regular expressions
by wind
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |