++
Fatvamp, cool code! With a long string of empty-block elsifs, you could also write the code using
or or
||, like the following. Good work.
my $str = uc shift @_;
$str =~ s/XLVIII$/IL/ or
$str =~ s/VIII$/IX/ or
$str =~ s/III$/IV/ or
$str =~ s/DCCCXCIX$/CM/ or
$str =~ s/CCCXCIX$/CD/ or
$str =~ s/LXXXIX$/XC/ or
$str =~ s/XXXIX$/XL/ or
$str =~ s/(I{1,2})$/$1I/ or
$str =~ s/CDXCIX$/D/ or
$str =~ s/CMXCIX$/M/ or
$str =~ s/XCIX$/C/ or
$str =~ s/I([VXLCDM])$/$1/ or
$str =~ s/([VXLCDM])$/$1I/;
return $str;