NAME Text::Roman - Converts Roman algorism to integer numbers and the contrary, recognize algorisms VERSION version 3.02 SYNOPSIS use Text::Roman; my $roman = "XXXV"; my $mroman = 'L_X_XXIII'; print roman(123), "\n"; print roman2int($roman), "\n" if isroman($roman); print mroman2int($mroman), "\n" if ismroman($mroman); DESCRIPTION "Text::Roman::roman()" is a very simple algorism converter. It converts a single integer (in Arabic algorisms) at a time to its Roman correspondent. The conventional Roman numbers goes from 1 up to 3999. MROMANS (milhar romans) range is 1 up to *3999 * 1000 + 3999 = 4002999*. There is no concern for mix cases, like 'Xv', 'XiiI', as legal Roman algorism numbers. FUNCTIONS roman2int($str) Return '' if $str is not Roman or return integer if it is. mroman2int($str) Return '' if $str is not Roman or return integer if it is. (milhar support) ismroman($str) Verify whether the given string is a milhar Roman number, if it is return 1; if it is not return 0. isroman($str) Verify whether the given string is a conventional Roman number, if it is return 1; if it is not return 0. roman($int) Return string containing the Roman corresponding to the given integer, or '' if the integer is out of domain. SPECIFICATION Roman number has origin in following BNF-like formula: a = I{1,3} b = V\a?|IV|\a e = X{1,3}\b?|X{0,3}IX|\b ee = IX|\b f = L\e?|XL\ee?|\e g = C{1,3}\f?|C{0,3}XC\ee?|\f gg = XC\ee?|\f h = D\g?|CD\gg?|\g j = M{1,3}\h?|M{0,3}CM\gg?|\h REFERENCES Specification supplied by redactor's manual of newspaper "O Estado de São Paulo". URL: AUTHOR Stanislaw Pusep COPYRIGHT AND LICENSE This software is copyright (c) 2000 by Peter de Padua Krauss . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.