my $dashes = join '', map { chr() } ( 0xAD, 0x2010 .. 0x2015, 0xFE63, 0xFF0D ); my $squots = join '', map { chr() } ( 0x02BC, 0x2018 .. 0x201B ); my $dquots = join '', map { chr() } ( 0x02EE, 0x201C .. 0x201F ); s/[$dashes]/-/g; s/[$squots]/'/g; s/[$dquots]/"/g;