Acme-Roman
view release on metacpan or search on metacpan
lib/Acme/Roman.pm view on Meta::CPAN
*to_number = \&Roman::arabic;
sub is_roman {
return "" if $_[0] =~ /[^IVXLCDM]/; # false: accept nothing but uppercase
return Roman::isroman(shift);
}
sub new {
my $proto = shift;
my $arg = shift;
if ( $arg =~ /^\d+$/ ) { # looks like an arabic number
croak __PACKAGE__, " does not like numbers above 3999" if $arg > 3999;
return $proto->SUPER::new( { roman => Roman::Roman($arg), num => $arg } );
} elsif ( Roman::isroman($arg) ) {
return $proto->SUPER::new( { roman => $arg, num => Roman::arabic($arg) } );
} else {
croak "$arg does not look like a (roman or arabic) number";
}
}
sub plus {
( run in 0.307 second using v1.01-cache-2.11-cpan-64827b87656 )