logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Validate::Net - Format validation for Net:: related strings

Author

       Adam Kennedy <adamk@cpan.org>

Bugs

       Unknown

Description

       Validate::Net is a class designed to assist with the validation of internet related strings. It can be
       used to validate CGI forms, internally by modules, and in any place where you want to check that an
       internet related string is valid before handing it off to a Net::* modules.

       It allows you to catch errors early, and with more detailed error messages than you are likely to get
       further down in the Net::* modules.

       Whenever a test is false, you can access the reason through the "reason" method.

Methods

host$host
       The "host" method is used to see if a value is a valid host. That is, it is either a domain name, or an
       ip address.

   domain$domain[,@options]
       The "domain" method is used to check for a valid domain name according to RFC 1034. It additionally
       disallows two consective dashes 'foo--bar'. I've never seen it used, and it's probably a mistaken version
       of 'foo-bar'.

       Depending on the options, additional checks may be made. No options are available at this time

   ip$ip
       The "ip" method is used to validate the format, of an ip address.  If called with no options, it will
       just do a basic format check of the ip, checking that it conforms to the basic dotted quad format.

       Depending on the options, additional checks may be made. No options are available at this time

   port$port
       The "port" method is used to test for a valid port number.

Name

       Validate::Net - Format validation for Net:: related strings

See Also

       Net::*

Support

       Bugs should be reported via the CPAN bug tracking system

       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Validate-Net>

       For other inquiries, contact the author

Synopsis

         use Validate::Net;

         my $good = '123.1.23.123';
         my $bad = '123.432.21.12';

         foreach ( $good, $bad ) {
               if ( Validate::Net->ip( $_ ) ) {
                       print "'$_' is a valid ip\n";
               } else {
                       print "'$_' is not a valid ip address because:\n";
                       print Validate::Net->reason . "\n";
               }
         }

         my $checker = Validate::Net->new( 'fast' );
         unless ( $checker->host( 'foo.bar.blah' ) ) {
               print "You provided an invalid host";
         }

To Do

       This module is not all that completed. Just enough to do some basics. Feel free to send me patches to add
       anything you like.

       Add support for networks
       Add "exists" support
       Add "dns" support for host names

See Also