in reply to Re^5: Multiple uses of (?{ code }) do not appear to be called
in thread Multiple uses of (?{ code }) do not appear to be called
Even if I put the bar() call inside the bare block, right after the sub definition, it still works. I'd appreciate it if you could enlighten me.#!/usr/bin/perl -l use strict; bar(); bar(); { # limit scope my @o; sub bar { my $window = "a b X20 c X5 d e X17 X12"; @o = (); my @m = ( $window =~ m/(X\d+(?{push @o, pos()}))/g ); print "Matches: @m"; print "Offsets: @o"; print " "; } } print "One last time"; bar(); __END__ Matches: X20 X5 X17 X12 Offsets: 7 12 20 24 Matches: X20 X5 X17 X12 Offsets: 7 12 20 24 One last time Matches: X20 X5 X17 X12 Offsets: 7 12 20 24
|
|---|