my %iso8859 = ( "\xA0" => ' ', "\xA1" => '¡', "\xA2" => '¢', "\xA3" => '£', "\xA4" => '¤', "\xA5" => '¥', "\xA6" => '¦', ); my $string = "a £ a penny"; my $regex = join '|', map quotemeta, keys %iso8859; $string =~ s/($regex)/$iso8859{$1}/g; print $string; __output__ a £ a penny