http://www.perlmonks.org?node_id=350045


in reply to Re: Returning regexp pattern that was used to match
in thread Returning regexp pattern that was used to match

Woah, what is that syntax!! ++ for the mystery factor alone! I've never seen that before. I couldn't find it in my manuals. Please explain?!

Dean
The Funkster of Mirth
Programming these days takes more than a lone avenger with a compiler. - sam
RFC1149: A Standard for the Transmission of IP Datagrams on Avian Carriers
  • Comment on Re: Re: Returning regexp pattern that was used to match

Replies are listed 'Best First'.
Re: Re: Re: Returning regexp pattern that was used to match
by Ven'Tatsu (Deacon) on May 03, 2004 at 15:53 UTC
    (?{ CODE }) will execute any perl code when the regex engine tries to match it. So for example:
    my $string = "Bar"; $sting =~ /Foo(?{ print "Found a Foo\n" })|Bar(?{ print "Found a Bar\n +" })|Baz(?{ print "Found a Baz\n" })/;
    Should print out 'Found a Bar'.

    It's documented in the perlre man page under 'Extended Patterns'.