use strict; my @fullnames = ( "Smith, David", "Lamb, Mary", "Depp, Johnny", "Child, Julia", ); my %x = map { /(.*), (.)/ ? ( $_ => $2.$1 ) : () } @fullnames; print "$_ => $x{$_}\n" for keys %x;