I went to report the doc error, and found a major, easy-to-fix bug that's been ignored for two years. ipv4_chkip will pass any string of four or more integers between 0 and 255 connected by .'s. The deal-breaker here is the 'four or more' instead of 'exactly four.'
So I can't recommend it. Perhaps try Regexp::Common instead.
use Net::IPv4Addr qw(:all); use Regexp::Common qw(net); my @var = qw(23.23.109.103 12324.123.12.1 1.2.3.4.5.6); print "Net::IFv4Addr:\n"; ipv4_chkip($_) and print "$_ is good\n" for @var; print "Regexp::Common:\n"; /^$RE{net}{IPv4}$/ and print "$_ is good\n" for @var;
produces
Net::IFv4Addr: 23.23.109.103 is good 1.2.3.4.5.6 is good Regexp::Common: 23.23.109.103 is good
Note that you do need to anchor the start and end of the regexp with ^ and $, 'cause just /$RE{net}{IPv4}/ would match 312.45.32.4.
In reply to Re: Net:Addr
by Zed_Lopez
in thread Net:Addr
by drock
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |