#!/usr/bin/perl use warnings; use encoding 'utf8'; open (INPUT, '<:encoding(utf8)', "in_file"); open (OUTPUT, '>:encoding(iso-8859-1)', "out_file"); %utf_entity = ( "\x{2019}", '"', "\x{201c}", '"', "\x{201d}", '"', ); while () { s/(\X+);/exists $utf_entity{$1} ? $utf_entity{$1} : $1/eg; print OUTPUT $_; }