>perl -wMstrict -le "my $data = q{'A','B','C','D','E','F','G','H','I','J','K','L','M'}; ;; my @ra = split m{ (?: , [^,]+){3} \K , }xms, $data; ;; printf qq{:$_: } for @ra; " :'A','B','C','D': :'E','F','G','H': :'I','J','K','L': :'M':