Encode moduleだと

下のhoge.plはこんな感じになる?

#!usr/bin/perl
use Encode;use Encode::Guess;
Encode::from_to($ARGV[1],'shiftjis','utf8');
$result=`$ARGV[0]$ARGV[1]$ARGV[2]`;
my $incode = guess_encoding($result, qw/shiftjis/);
$incode = $incode ->name;
Encode::from_to($result,$incode,'shiftjis');
print "$result\n";

Shift-JISとUTF-8以外を全く想定しない簡略版だけど、まぁ一応。
guess_encodingや最後のfrom_toを書き換えれば各国版に出来るかも(Panther、というかPerl5.8以上が必要だけど)