Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: Irregular expression evaluation

by Roy Johnson (Monsignor)
on Oct 24, 2005 at 20:31 UTC ( [id://502576]=note: print w/replies, xml ) Need Help??


in reply to Re: Irregular expression evaluation
in thread Irregular expression evaluation

Note that you can also work around it by declaring a lexical outside the scope of the sub:
{ my @inserts; sub gf { @inserts = (); my $ins1 = '4 A -4 C -4 B 1 D'; print "\nat the beginning: " . \@inserts . "\n"; print $ins1, "\n"; my $re = qr/[\d+-]+(?: \w ([\d+-]+)(?{print \@inserts, "\n"; p +ush @inserts, $1}))*/; $ins1 =~ /$re/g; print "\n" . join ' ', @inserts; } }
You might notice that I created a regex variable. I had hoped that that would cause the regex to be bound at runtime, but no such luck. Creating an empty variable and inserting it in the regex does force runtime evaluation (at least inasmuch as it demands use of use re 'eval'), but it still doesn't make the (?{}) section use the current incarnation of @inserts.

Caution: Contents may have been coded under pressure.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://502576]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2024-04-24 21:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found