use strict; use warnings; for my $name (qw'JoeZZZJones JoeZZZJosephZZZJones Bobbie') { my @parts = split 'ZZZ', $name; print "Name: $name\n"; print "Name part $_: $parts[$_ - 1]\n" for 1 .. @parts; print "\n"; } #### Name: JoeZZZJones Name part 1: Joe Name part 2: Jones Name: JoeZZZJosephZZZJones Name part 1: Joe Name part 2: Joseph Name part 3: Jones Name: Bobbie Name part 1: Bobbie