============================================================================== Release of version 2.116 of Regexp::Common ============================================================================== WARNING: INCOMPATIBLE CHANGE in version 2.113! Regexp::Common used to set $; to '='. This no longer happens, because setting $; breaks Filter::Simple. This means that regexps of the form $RE{foo}{"-flag=value"} no longer work! They need to be written as $RE{foo}{"-flag$;value"} or as $RE{foo}{-flag => "value"}. When defining patterns using the pattern function, a = still needs to be used to separate the flag from its default value. This has not been changed. We are very sorry for the inconvenience. NOTE: The jump to version 2.100 is there for no other reason than that CPAN.pm is stupid. The entire world considers version numbers to be dot separated *INTEGERS*, except CPAN, which considers them to be *FLOATS*. In which universe there can be more than one dot in a float is of course a mystery. CPAN.pm just couldn't deal with the fact one of the files in the distribution was of version 1.10, thinking the older 1.9 version was newer. It would be sooo tempting to start using Roman numerals as version numbers. Andreas points out that blaming CPAN isn't fair, that CPAN is just following Perls idea of Module version numbers: floats. So, in the rant, read 'Perl' where it says 'CPAN'. NOTE: The jump from version 0.09 to 1.20 does not indicate a significant change in the API, or any other significant change. It's just that the version number now follows the revision number from CVS. NAME Regexp::Common - Provide commonly requested regular expressions SYNOPSIS use Regexp::Common; while (<>) { /$RE{num}{real}/ and print q{a number\n}; /$RE{quoted}/ and print q{a ['"`] quoted string\n}; /$RE{delimited}{-delim=>'/'}/ and print q{a /.../ sequence\n}; /$RE{balanced}{-parens=>'()'}/ and print q{balanced parentheses\n}; /$RE{profanity}/ and print q{a #*@%-ing word\n}; } DESCRIPTION By default, this module exports a single hash (`%RE') that stores or generates commonly needed regular expressions. Patterns currently provided include: * balanced parentheses and brackets * delimited text (with escapes) * integers and floating-point numbers in any base (up to 36) * comments in 44 languages * offensive language * lists of any pattern * IPv4 addresses * URIs. * Zip codes. Future releases of the module will also provide patterns for the following: * email addresses * HTML/XML tags * mail headers (including multiline ones), * more URIs * telephone numbers of various countries * currency (universal 3 letter format, Latin-1, currency names) * dates * binary formats (e.g. UUencoded, MIMEd) * Credit card numbers. INSTALLATION It's all pure Perl, so just put the .pm files in their appropriate local Perl subdirectory. Alternatively, use the common approach: - untar the archive - run: perl Makefile.PL - run: make - run: make test - run: make install AUTHOR Damian Conway (damian@cs.monash.edu.au) MAINTAINER Abigail (regexp-common@abigail.nl) COPYRIGHT Copyright (c) 1997-2004, Damian Conway. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html) ============================================================================== CHANGES IN VERSION 2.116 Revision history for Perl extension Regexp::Common. 2.116 Wed Jun 30 11:37:45 CEST 2004 - Restricted recognition of squares to numbers less than 9000000000000000, to avoid problems with round-off errors. - Fixed an off-by-one error in t/zip/spain.t which caused some test to fail when they shouldn't. - 132235 tests in 48 files. 2.115 Wed Jun 9 23:59:13 2004 - Patterns for comments of ABC, Caml, CLU, COBOL, ECMAScript, Icon, J, JavaScript, Lisp, M, MUMPS. - Patterns for postal codes of Norway, Italy and Spain. - Patterns for US SSN. - New way of doing tests using t::Common, giving more control to test program. - Random generators in t::Common. - Cut down on tests in test_lingua_palindrome.t. - Fixed bug in t/zip/australia.t could cause an infinite loop. - 132225 tests in 48 files. 2.114 Sun May 25 21:34:56 2003 - Fix to t/zip/greenland.t to avoid generating valid zipcodes when testing for failures. - Fixes to t/URI/gopher.t and t/URI/wais.t to avoid warnings. - Australian postal codes now accept '0909'. (Ron Savage) - Added comments for 'C--', 'C#', 'Cg', 'Nickle', 'PL/SQL', 'QML' and SLIDE. - Fixed the assignment of the version number to $VERSION in 6 classes. - 158287 tests in 44 files. - 134 patterns in 11 classes and 12 subclasses. 2.113 Wed Apr 2 22:58:46 2003 - INCOMPATIBLE CHANGE! Regexp::Common used to set $; to '='. This no longer happens, because setting $; breaks Filter::Simple. (Report by Tim Maher). This means that regexps of the form $RE{foo}{"-flag=value"} no longer work! They need to be written as $RE{foo}{"-flag$;value"} or as $RE{foo}{-flag => "value"}. When defining patterns using the pattern function, a = still needs to be used to separate the flag from its default value. This has not been changed. We are very sorry for the inconvenience. - 157762 tests in 44 files. - 127 patterns in 11 classes and 12 subclasses. 2.112 Wed Mar 26 00:25:04 2003 - prospero and pop URIs - Fixed documentation of Regexp::Common::lingua to document the lingua stuff instead of Regexp::Common::zip (Murat). - 157761 tests in 44 files. - 127 patterns in 11 classes and 12 subclasses. 2.111 Wed Mar 12 23:30:03 2003 - Introduced the -i switch. Important if you are using the functional interface and want to be able to match case insensitive. (Request from Tim Maher). - Introduced the -nospace switch for $RE{net}{domain} (Request from Juerd). - Decimal numbers. - WAIS URIs. - More generic setup to define comments for various languages. - Expanded and redid the documentation for comment.pm. - Comments for Advisor, Advsys, Alan, Algol 60, Algol 68, B, BASIC (mvEnterprise), Forth, Fortran (both fixed and free form), fvwm2, mutt, Oberon, 6 versions of Pascal, PEARL (one of the at least four...), PL/B, PL/I, slrn, Squeak. - 151114 tests in 42 files. - 125 patterns in 11 classes and 10 subclasses. 2.110 Fri Feb 21 15:58:14 2003 - Fixed t/test_squares.t. '0x7FFFFFFFFFFFFFFF' cannot be used on non-64bit platforms - eval to the rescue. - Added $VERSION to the .pm files who were missing them. - gopher, news, nntp URIs. - 145013 tests in 39 files. - 100 patterns in 11 classes and 9 subclasses. 2.109 Mon Feb 10 22:41:45 2003 - Split out URI.pm into a myriad of files. There is a separate file for each URI scheme, and a separate file for each RFC that's used. URI.pm requires all the URI scheme files, and constructs the combining URI regexp. - file URIs. - Cut down on the number of tests run for certain classes. - 123810 tests in 36 files. - 95 patterns in 11 classes and 7 subclasses. 2.108 Sun Feb 9 22:58:56 2003 - Postal codes for Belgium, Denmark and Greenland. - Renamed the postal code patterns. - 194125 tests in 35 files. - 94 patterns in 11 classes. 2.107 Fri Feb 7 23:20:35 2003 - telnet URIs; Lua and FPL comments. - common code factored out - created t/Common.pm - 175984 tests in 32 files. - 91 patterns in 11 classes. 2.106 Sun Feb 2 18:42:08 2003 - Makefile.PL fixes for Windows. 2.105 Sun Feb 2 04:15:54 2003 (In remembrance of the Columbia crew) - Australian postal codes. - Reorganized t/ directory by adding subdirectories. - 88 patterns in 11 classes. - 163355 tests in 31 files. 2.104 Fri Jan 24 16:44:19 2003 - Forgot to add t/test_zip_german.t and t/test_zip_french.t to the MANIFEST file. 2.103 Thu Jan 23 03:21:17 2003 - Added German and French postal codes. - Fixed some bugs concerning HTTP URIs. - Complete remake of t/test_uri_http, with 15k+ tests. Extended testing exposed the now fixed bugs. - 87 patterns in 11 classes. - 156778 tests in 30 files. 1.30 Fri Jan 17 14:20:02 2003 - Fixed a bug concerning HTTP and FTP URIs. (reported by Hermann-Marcus Behrens) 1.29 Thu Jan 16 12:07:02 2003 - New since last release: Squares, Roman numbers, TV URIs, Palindromes, Dutch and US postal codes. - 131710 tests in 28 files. 11 pattern classes. 1.20 Tue Aug 27 19:06:13 CEST 2002 - Balanced patterns can now take multiple sets of arbitrary strings as delimiters. - Fax URIs. - More comment patterns. 0.09 Tue Aug 6 16:44:57 CEST 2002 - Fixed $RE{URI}{tel}, local phone numbers can have future extensions as well. 0.08 Tue Aug 6 15:50:31 CEST 2002 - Added tel URI regexes. 0.07 Mon Aug 5 14:31:17 CEST 2002 - Fixed 'Regex::' and 'Rexexp::' typos. - Split t/test_uris.t into t/test_ftp_uri.t, t/test_http_uri.t and t/test_uris.t. 0.06 Mon Aug 5 00:56:19 CEST 2002 - URI regexes. Currently only HTTP and FTP. More to come. 0.05 Thu Aug 1 12:01:04 CEST 2002 - Improved the 'subs' method of MAC addresses. 0.04 Thu Aug 1 01:18:37 CEST 2002 - Added the set of $RE{net}{MAC} regexes, by request of Iain Truskett . - Required minimum Perl version for regexes for Haskell and Dylan comment, as they can be recursive. - Petdance suggested regexes for LOGO comments. 0.03 Wed Jul 31 15:21:11 CEST 2002 - Made the entire setup more modular, giving each set of patterns its own .pm file. Loading all goes via Regexp::Common though. - use strict; everywhere - it also runs under -W (localized). - Added comment regexes for many more languages (26 currently). - Fixed some small bugs. 0.02 Tue Jul 23 23:18:15 2002 - Added $RE{comment}{HTML} 0.01 Thu May 18 14:45:14 2000 - original version; created by h2xs 1.18 ============================================================================== AVAILABILITY Regexp::Common has been uploaded to the CPAN and is also available from: http://perl.abigail.nl/Modules/Regexp-Common/latest.tar.gz ==============================================================================