NAME
Regexp::Common::net -- provide regexes for IPv4 addresses.
SYNOPSIS
use Regexp::Common qw /net/;
while (<>) {
/$RE{net}{IPv4}/ and print "Dotted decimal IP address";
/$RE{net}{IPv4}{hex}/ and print "Dotted hexadecimal IP address";
/$RE{net}{IPv4}{oct}{-sep => ':'}/ and
print "Colon separated octal IP address";
/$RE{net}{IPv4}{bin}/ and print "Dotted binary IP address";
/$RE{net}{MAC}/ and print "MAC address";
/$RE{net}{MAC}{oct}{-sep => " "}/ and
print "Space separated octal MAC address";
}
DESCRIPTION
Please consult the manual of Regexp::Common for a general description of the works of this interface.
Do not use this module directly, but load it via Regexp::Common.
This modules gives you regular expressions for various style IPv4 and MAC (or ethernet) addresses.
$RE{net}{IPv4}
Returns a pattern that matches a valid IP address in "dotted decimal"
For this pattern and the next four, under -keep
(See Regexp::Common):
- $1
-
captures the entire match
- $2
-
captures the first component of the address
- $3
-
captures the second component of the address
- $4
-
captures the third component of the address
- $5
-
captures the final component of the address
$RE{net}{IPv4}{dec}{-sep}
Returns a pattern that matches a valid IP address in "dotted decimal"
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/[.]/
.
$RE{net}{IPv4}{hex}{-sep}
Returns a pattern that matches a valid IP address in "dotted hexadecimal", with the letters A
to F
capitalized.
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/[.]/
. -sep=""
and -sep=" "
are useful alternatives.
$RE{net}{IPv4}{oct}{-sep}
Returns a pattern that matches a valid IP address in "dotted octal"
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/[.]/
.
$RE{net}{IPv4}{bin}{-sep}
Returns a pattern that matches a valid IP address in "dotted binary"
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/[.]/
.
$RE{net}{MAC}
Returns a pattern that matches a valid MAC or ethernet address as colon separated hexadecimals.
For this pattern, and the next four, under -keep
(See Regexp::Common):
- $1
-
captures the entire match
- $2
-
captures the first component of the address
- $3
-
captures the second component of the address
- $4
-
captures the third component of the address
- $5
-
captures the fourth component of the address
- $6
-
captures the fifth component of the address
- $7
-
captures the sixth and final component of the address
This pattern, and the next four, have a subs
method as well, which will transform a matching MAC address into so called canonical format. Canonical format means that every component of the address will be exactly two hexadecimals (with a leading zero if necessary), and the components will be separated by a colon.
The subs
method will not work for binary MAC addresses if the Perl version predates 5.6.0.
$RE{net}{MAC}{dec}{-sep}
Returns a pattern that matches a valid MAC address as colon separated decimals.
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/:/
.
$RE{net}{MAC}{hex}{-sep}
Returns a pattern that matches a valid MAC address as colon separated hexadecimals, with the letters a
to f
in lower case.
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/:/
.
$RE{net}{MAC}{oct}{-sep}
Returns a pattern that matches a valid MAC address as colon separated octals.
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/:/
.
$RE{net}{MAC}{bin}{-sep}
Returns a pattern that matches a valid MAC address as colon separated binary numbers.
If -sep=P
is specified the pattern P is used as the separator. By default P is qr/:/
.
$RE{net}{domain}
Returns a pattern to match domains (and hosts) as defined in RFC 1035. Under I{-keep} only the entire domain name is returned.
REFERENCES
SEE ALSO
Regexp::Common for a general description of how to use this interface.
HISTORY
$Log: net.pm,v $
Revision 1.8 2003/01/10 11:03:28 abigail
Added complete CVS history.
Revision 1.7 2002/08/05 22:02:06 abigail
Typo fix.
Revision 1.6 2002/08/05 20:36:10 abigail
Added $RE{net}{domain}
Revision 1.5 2002/08/05 12:16:59 abigail
Fixed 'Regex::' and 'Rexexp::' typos to 'Regexp::' (Found my Mike Castle).
Revision 1.4 2002/08/01 10:00:01 abigail
Got rid of the split // in the "subs" method of MAC addresses with
configurable seperator, as this may lead to incorrect results (for
instance, if the separator is the empty string).
Revision 1.3 2002/07/31 23:27:57 abigail
Added regexes for MAC addresses.
Revision 1.2 2002/07/28 22:57:59 abigail
Tests to pinpoint a bug in Regexp::Common's _decache.
Revision 1.1 2002/07/25 23:53:38 abigail
Factored out of Regexp::Common.
AUTHOR
Damian Conway damian@conway.org.
MAINTAINANCE
This package is maintained by Abigail (regexp-common@abigail.nl).
BUGS AND IRRITATIONS
Bound to be plenty.
For a start, there are many common regexes missing. Send them in to regexp-common@abigail.nl.
COPYRIGHT
Copyright (c) 2001 - 2002, 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)