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