use HTML::Entities qw( decode_entities ); # It is technically possible for Uuml to # be encountered in French, but I don't # know of any words that use it. my @french_accents = map decode_entities("&$_;"), map +($_, lc), qw( Acirc Agrave Eacute Ecirc Egrave Euml Icirc Iuml Ocirc Ugrave Uuml Ccedil AElig OElig ); my $french_accents = join '', @french_accents; $form_values{$field} =~ /[^A-Za-z0-9_'-\.\s$french_accents]/) {