0: my $str = uc shift @_;
1:
2:
3: if($str =~ s/XLVIII$/IL/) {
4: } elsif($str =~ s/VIII$/IX/) {
5: } elsif($str =~ s/III$/IV/) {
6: } elsif($str =~ s/DCCCXCIX$/CM/) {
7: } elsif($str =~ s/CCCXCIX$/CD/) {
8:
9: } elsif($str =~ s/LXXXIX$/XC/) {
10: } elsif($str =~ s/XXXIX$/XL/) {
11:
12:
13: } elsif($str =~ s/(I{1,2})$/$1I/) {
14:
15: } elsif($str =~ s/CDXCIX$/D/) {
16: } elsif($str =~ s/CMXCIX$/M/) {
17: } elsif($str =~ s/XCIX$/C/) {
18:
19: } elsif($str =~ s/I([VXLCDM])$/$1/) {
20: } elsif($str =~ s/([VXLCDM])$/$1I/) {
21: }
22:
23: return $str;
In reply to symbolic increment of roman numerals by PetaMem
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |