in reply to Getting a list of captures in Perl 5.10
Apart from the stuff you tried there is also another hack which uses the experimental (?{...}) code assertions:
our @matches; m/(?>(something)(?{ push @matches, $^N }))/; [download]