":aa2bb4cc6dd8" =~ / (:) (?{ [[], []] }) # initialize $^R (?: (\w\w) (\d) # add captures to $^R: (?{ [[@{$^R->[0]}, $2], [@{$^R->[1]}, $3]] }) )* /x; dd $&; #-> ":aa2bb4cc6dd8" dd $1; #-> ":" dd $^R->[0]; #-> ["aa", "bb", "cc", "dd"] dd $^R->[1]; #-> [2, 4, 6, 8] }