in reply to Getting a list of captures in Perl 5.10

I don't think you can get exactly what you want out of 5.10's regex engine. (In Perl 6 you can get it, and PGE already implements that btw).

Apart from the stuff you tried there is also another hack which uses the experimental (?{...}) code assertions:

our @matches; m/(?>(something)(?{ push @matches, $^N }))/;