On Sun, Mar 16, 2003 at 09:37:51PM +0200, Enache Adrian wrote: > 1. sub a { my $x; /(?{ $x++ })/ } > => sub a { my $x; { $x++ } } > > 2. sub a { my $x; my $p = qr/(?{ $x++ })/; $_ =~ $p } > => sub a { my $x; sub clos { $x++ }; clos } > > 3. sub a { my $x; my $p = '(?{ $x++ })'; /$p/ } > => sub a { my $x; eval '$x++' } More precisely: 3. sub a { my $x; my $p = '(?{ $x++ })'; /$p/ } => sub a { my $x; eval '$x++'; die "..." if $@ } Revamping all that to use blocks/full closures/full evals will have another benefic effect: get one rid of the top_env panic on Perl_croak()s during the compilation of (?{ .. }) blocks: $ perl -e '/(?{ " })/' panic: top_env (A plethora of tickets are about that) Regards AdiThread Previous