A2 AB A45 #### @parts=split(/(A.+?)(?=A|$)/,"A2ABA45"); $i=1; map {print $i++ . " -> $_\n"} @parts; #### 1 -> 2 -> A2 3 -> 4 -> AB 5 -> 6 -> A45 #### @parts=grep{$_}split(/(A.+?)(?=A|$)/,"A2ABA45"); $i=1; map {print $i++ . " -> $_\n"} @parts; #### 1 -> A2 2 -> AB 3 -> A45