in reply to Getting a list of captures in Perl 5.10
Without using any of the 5.10 features you can do:
$string = 'bla bla [[en:English]][[de:German]][[ga:Irish]] bla bla'; %matches = $string =~ m/\[ \[ ( en|de|ga ) : (.+?) \] \]/gx; $var = { lang => [ keys %matches ] }; pp $var; { lang => ["en", "ga", "de"] }
But that makes me wonder why you are capturing the longnames just to throw them away?
If you remove the capture for those you can do:
my $string = 'bla bla [[en:English]][[de:German]][[ga:Irish]] bla bla' +; my $var = { lang => [ $string =~ m/\[ \[ ( en|de|ga ) : .+? \] \]/gx ] + }; pp $var; { lang => ["en", "de", "ga"] }
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Getting a list of captures in Perl 5.10 (pp?)
by carol (Beadle) on May 24, 2008 at 23:07 UTC | |
by BrowserUk (Patriarch) on May 25, 2008 at 05:23 UTC | |
Re^2: Getting a list of captures in Perl 5.10
by amir_e_a (Hermit) on May 24, 2008 at 16:47 UTC |
In Section
Seekers of Perl Wisdom