NAME
Regexp::Network - some useful routines for the DHCP bits and pieces.
SYNOPSIS
use Regexp::Network;
print "$ip is valid!" if $ip =~ $ip_RE;
my (@macs) = ($data =~ /\b($mac_RE)\b/g);
@macs = map { cleanether($_) } @macs;
DESCRIPTION
Provide useful routines and constants and stuff for analysing assorted network log files and data.
EXPORTATIONS
As an Exporter, it provides (optionally):
- $ip_RE
-
Matches an IP address. Mostly useful for extracting IPs from log files or validating them. e.g.
print "IP is valid!" if ($ip =~ /$ip_RE/);
It has weaknesses, but it will at least limit things to 0-255 rather than allowing 354.543.551.79485 as a valid IP. Has problems with things like 0123.01.5.6 (leading zeroes).
- $mac_RE
-
Matches a MAC address. Either ':' or '-' separated. Either with leading zeroes, or without. Case insensitive. Once pulled, you can use cleanether on it to turn it into the canonical form.
print "MAC is valid!" if ($mac =~ /$mac_RE/);
- cleanether()
-
Cleans ethernet hardware addresses (MACs) into the preferred canonical form. This routine follows design by contract principles and dies if the MAC address is not parsable by
$mac_RE
, hence only pass suitable stuff in.$clean_MAC = cleanether($dirty_MAC);
AUTHOR
Iain Truskett <spoon@cpan.org> http://eh.org/~koschei/
Please report any bugs, or post any suggestions, to either the mailing list at <cpan@dellah.anu.edu.au> (email <cpan-subscribe@dellah.anu.edu.au> to subscribe) or directly to the author at <spoon@cpan.org>
PLANS
Impove ip_RE for leading noughts, and such like.
COPYRIGHT
Copyright (c) 2002 Iain Truskett. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
$Id: Network.pm,v 1.3 2002/04/05 07:56:05 koschei Exp $
ACKNOWLEDGEMENTS
None really. Just happened to need the facilities of this module.