#!perl use strict; use warnings; binmode DATA, ':encoding(ISO-8859-1)'; binmode STDOUT, ':encoding(Windows-1252)'; while (my $original_names = ) { chomp $original_names; my $normalized_names = normalize_names($original_names); print "$original_names => $normalized_names\n"; } exit 0; sub normalize_names { return join '', map { ucfirst lc $_ } $_[0] =~ m/(\w+|\W+)/g; }; __DATA__ CLÉ USB CLÉMMY USB #### CLÉ USB => Clé Usb CLÉMMY USB => Clémmy Usb