in reply to Re: global regex returning a list of arrays?
in thread global regex returning a list of arrays?

yeah I knew this trick with the index-array, thx,!

But it's not really comfortable to need to substr... :(

Cheers Rolf

Replies are listed 'Best First'.
Re^3: global regex returning a list of arrays?
by AnomalousMonk (Archbishop) on Feb 20, 2010 at 17:04 UTC
    BTW: couldn't find an array holding the values of $1,$2,... in the perldocs !?!

    Probably not much help in this particular case (and you still need to loop to capture), but 5.10 offers the %+ and %- predefined hashes for named captures (see perlvar) in place of an array of all capture groups:

    >perl -wMstrict -le "my $s = '12ab34cd56ef78'; my @pairs; push @pairs, [ $+{A}, $+{B} ] while $s =~ m{ (?<A>[[:alpha:]]) (?<B>[[:alpha:]]) }xmsg; use Data::Dumper; print Dumper \@pairs; " $VAR1 = [ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ] ];
      Probably not much help in this particular case...

      actually it's getting better now! :D

      ....it's possible to take the values of the hash!

       push @pairs, [ values %+ ] while $s =~ m{ (?<A>[[:alpha:]]) (?*[[:alpha:]]) }xmsg;

      unfortunately the hash is not set when the groupings are not named ... :(

      Cheers Rolf