Solution: Roman numbers
examples/regex-perl/is_roman_number.pl
#!/usr/bin/perl use strict; use warnings; while (my $number = <STDIN>) { # This solution only check is the string consists of characters # used in as Roman numbers but does not check if the number is # actually a valid number. (e.g. IVI is not valid) # I yet to see a definition on how to validate a Roman number. if (is_roman($number)) { print "Roman number\n"; } } sub is_roman { $_[0] =~ /^[IVXLCDM]+$/ } sub is_roman2 { $_[0] =~ /^ (M{0,4}) (CM|CD|D?C{0,3}) (XL|XC|L?X{0,3}) (IV|IX|V?I{0,3}) $/x }