in reply to unicode issues on Unix only
When I downloaded your sample data files, I noticed that "map2.txt" has CRLF line termination, while "greekwords1.txt" does not. Because of that, using chomp on osx/linux/unix doesn't do everything you want it to when you read the map file.
Try using s/\s+$//; instead of chomp.
(Curiously, when I first ran your script as-is on osx, with chomp, I didn't get "gobblede-gook" - I got nulls. But when I switched to removing all final white space, I got Greek.)
In Section
Seekers of Perl Wisdom