my %MAP = ( "\xE4" => 'ae', "\xE9" => 'e', "\xF6" => 'oe', "\xFC" => 'ue', ); my $mapfrom = join('|', map { quotemeta } keys %MAP); s/($mapfrom)/$MAP{$1}/eg;