from_toはencode/decodeの組み合わせと同じらしいから、
とりあえずencode/decodeがちゃんと動いてるか確認してみては

use Encode ;
my $utf8 = sprintf("%c%c%c", 0xE3, 0x81, 0x82); # UTF-8で"あ", 適当に変えてみて
my $octet = Encode::decode("utf8", $utf8); # 内部コード。たぶんUTF-8と同じ

my $sjis = Encode::encode("sjis", $octet);
my $eucjp = Encode::encode("euc-jp", $octet);
my $iso2022 = Encode::encode("iso-2022-jp", $octet);

print "utf8: ", unpack("H*", $utf8), "\n"; # e38182
print "octet: ", unpack("H*", $octet), "\n"; # e38182
print "sjis: ", unpack("H*", $sjis), "\n"; # 82a0
print "eucjp: ", unpack("H*", $eucjp), "\n"; # a4a2
print "iso2022: ", unpack("H*", $iso2022), "\n"; # 1b244224221b2842