use Encode qw(from_to);

euc2euc("\xad\xa1");
euc2euc("\xdb\xd9");
exit;

sub euc2euc
{
my $char = shift;
from_to($char, 'euc-jp', 'euc-jp');
print ((map{ unpack('H2', $_) } split(//, $char)), "\n");
}

これを動かしてみれば分かると思う。
結局、○に1とかの文字を渡さないのがいいかと。