# tr/// が、正規表現とは関係がなく、また文字列を置き換えるものでもないという点は FAQ にも程があるんでこれ以上は自分で調べてもらうとして。

sub to_arabic_number {
my $str = $_[0];
my @circles = qw/�@ �A �B �C �D �E �F �G �H �I
�J �K �L �M �N �O �P �Q �R �S/;
my @romanU = qw/�T �U �V �W �X �Y �Z �[ �\ �]/;
my @romanL = qw/�@ �A �B �C �D �E �F �G �H �I/;

my $i = 1;
foreach (@romanL) {
$str =~ s/$_/$i/g;
$i++;
}
$i = 1;
foreach (@romanU) {
$str =~ s/$_/ $i/g;
$i++;
}
$i = 1;
foreach (@circles) {
$str =~ s/$_/ ($i)/g;
$i++;
}
return $str;
}