in reply to Text file to UTF-8 encoding

FunkyMonk is right. encode doesn't alter its arguments in place. You need to catch them in a variable.

@FileData = map { Encode::encode('utf-8', $_) } @FileData;

You're currently doing a lot of work but ignoring the results.

--

See the Copyright notice on my home node.

"The first rule of Perl club is you do not talk about Perl club." -- Chip Salzenberg