local $_ = '...#18abcdefghi...'; / \# (\d) ( (??{ "\\d{$^N}" }) ) ( (??{ "(?s:.{$^N})" }) ) /x or die "No match\n"; print("$1:$2:$3\n"); # 1:8:abcdefgh