http://qs321.pair.com?node_id=412365


in reply to Net:Addr

Try ipv4_checkip instead of ipv4check_ip.

Replies are listed 'Best First'.
Re^2: Net:Addr
by drock (Beadle) on Dec 04, 2004 at 06:46 UTC
    ok now I am getting:
    23.23.109.103 Use of inherited AUTOLOAD for non-method Net::IPv4Addr::ipv4_checkip() + is deprecated at number_test.pl line 15 (#1) (D deprecated) As an (ahem) accidental feature, AUTOLOAD subroutin +es are looked up as methods (using the @ISA hierarchy) even when the subroutines to be autoloaded were called as plain functions (e.g. Foo::bar()), not as methods (e.g. < Foo-bar() >> or < $obj-bar() >>). This bug will be rectified in future by using method lookup only f +or methods' AUTOLOADs. However, there is a significant base of exist +ing code that may be using the old behavior. So, as an interim step, +Perl currently issues an optional warning when non-methods use inherite +d AUTOLOADs. The simple rule is: Inheritance will not work when autoloading non-methods. The simple fix for old code is: In any module that +used to depend on inheriting AUTOLOAD for non-methods from a base class named BaseClass, execute *AUTOLOAD = \&BaseClass::AUTOLOAD during startup. In code that currently says use AutoLoader; @ISA = qw(AutoLoader); you should remove AutoLoader from @ISA and change use AutoLoader; +to use AutoLoader 'AUTOLOAD';. Can't locate auto/Net/IPv4Addr/ipv4_checki.al in @INC (@INC contains: /usr/local/lib /usr/local/lib/perl5/5.8.0/sun4-solaris /usr/lo +cal/lib/perl5/5.8.0 /usr/local/lib/perl5/5.8.0/sun4-solaris/CORE /usr/local/lib/perl5/site +_perl/5.8.0/MIME /us r/local/lib/perl5/5.8.0/CGI/ /usr/local/bin/perld/modules/Net-IPv4Addr +-0.09/blib /usr/loca l/lib/perl5/5.8.0/sun4-solaris /usr/local/lib/perl5/5.8.0 /usr/local/l +ib/perl5/site_perl/5 .8.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/ +perl5/site_perl .) a t number_test.pl line 15 (#2) (F) You said to do (or require, or use) a file that couldn't be found. Perl looks for the file in all the locations mentioned in @ +INC, unless the file name included the full path to the file. Perhaps +you need to set the PERL5LIB or PERL5OPT environment variable to say w +here the extra library is, or maybe the script needs to add the library + name to @INC. Or maybe you just misspelled the name of the file. See perlfunc/require and lib. Uncaught exception from user code: Can't locate auto/Net/IPv4Addr/ipv4_checki.al in @INC (@INC co +ntains: /usr/local/l ib /usr/local/lib/perl5/5.8.0/sun4-solaris /usr/local/lib/perl5/5.8.0 +/usr/local/lib/perl5 /5.8.0/sun4-solaris/CORE /usr/local/lib/perl5/site_perl/5.8.0/MIME /us +r/local/lib/perl5/5. 8.0/CGI/ /usr/local/bin/perld/modules/Net-IPv4Addr-0.09/blib /usr/loca +l/lib/perl5/5.8.0/su n4-solaris /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5 +.8.0/sun4-solaris /u sr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) a +t number_test.pl lin e 15 AutoLoader::AUTOLOAD(23.23.109.103) called at number_test.pl l +ine 15
    My PERL5LIB path is
    /usr/local/lib:/usr/local/lib/perl5/5.8.0:/usr/local/lib/perl5/5.8.0/s +un4-solaris/CORE:/us r/local/lib/perl5/site_perl/5.8.0/MIME:/usr/local/lib/perl5/5.8.0/CGI/ +:/usr/local/bin/perl d/modules/Net-IPv4Addr-0.09/blib

    2004-12-04 Janitored by Arunbear - added code tags, as per Monastery guidelines

      Ah, the POD lies. It's ipv4_chkip. Your code works for me with this change.