in reply to Creating reverse dictionary

As GrandFather said, the issue you describe definitely sounds like an encoding issue. In terms of sorting, you might be interested in Unicode::Collate:

use warnings;
use strict;
use Unicode::Collate;
use utf8;
use open qw/:std :utf8/;

my @words=('två','tvagit','ägg','agget','öga','ogallrad','Offerdal');

my @rev = map {scalar reverse} @words;
my @sorted = Unicode::Collate->new->sort(@rev);

print "$_\n" for @sorted;

__END__

agö
åvt
darllago
ggä
ladreffO
tegga
tigavt