local our @stack; 'abc' =~ / (?{ [] }) (.) (?{ [ @{ $^R }, $^N ] }) (.) (?{ [ @{ $^R }, $^N ] }) (.) (?{ [ @{ $^R }, $^N ] }) (?{ push @stack, $^R }) /x; print "[$_]" for @{ $stack[0] }; # [a][b][c] print "\n";