use strict; use warnings; my @original_names = ( 'Fred Flintstone', 'Leonardo da Vinci ', 'Raffaello da Urbino', ); my @cognome = last_name_first(@original_names); print join(';', @cognome); sub last_name_first { my @names = @_; for (@names) { s/\s+$//; s/^(.*?)(\S+)$/$2, $1/; s/\s+$//; } return @names; }