use Data::Dumper;
("aa2bb4cc6dd8" x 1e3) =~ /
(?{ [] }) # initialize $^R
(?:
(\w\w) (\d)
# add captures to $^R:
(?{ [@{$^R}, [$1, $2]] })
)*
/x;
dd @{ $^R }[ -1 ]
dXNlIERhdGE6OkR1bXBlcjsKc3ViIGRkIHsgcHJpbnQgRHVtcGVyKHNoaWZ0KSB9OwoKKCJhYTJiYjRjYzZkZDgiIHggMWUzKSA9fiAvCiAgICAgICAgICAgICAgICAgICAgICg/eyBbXSB9KSAgICMgaW5pdGlhbGl6ZSAkXlIKICAgICAgICAgICAgICAgICAgICAgKD86CiAgICAgICAgICAgICAgICAgICAgICAgICAoXHdcdykgKFxkKQogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAjIGFkZCBjYXB0dXJlcyB0byAkXlI6CiAgICAgICAgICAgICAgICAgICAgICAgICAoP3sgW0B7JF5SfSwgWyQxLCAkMl1dIH0pCiAgICAgICAgICAgICAgICAgICAgICkqCiAgICAgICAgICAgICAgICAgICAveDsKICAgICAgICAgICAgICAgICAgIApkZCBAeyAkXlIgfVsgLTEgXQ==