in reply to Re: Re: socket reading...
in thread socket reading...

This appears to indicate that your installation of the IO::Socket::INET module (which comes with perl since perl version 5.004) is somehow curropted. It appears to indicate that AutoLoader was used for IO::Socket::INET, something which oddly I don't find evidence of in versions of perl I have access to (5.005_02, 5.6.0, 5.7.1@11471). It also seems to indicate that a file that was supposed to have been created by AutoSplit during installation cannot be found.

Replies are listed 'Best First'.
(tye)Re: socket reading...
by tye (Sage) on Jul 28, 2001 at 11:00 UTC

    IO::Socket::INET "isa" IO::Socket "isa" IO::Handle "isa" Exporter so if any of those have a AUTOLOAD, then IO::Socket::INET does. One of the many ugly pitfalls of using inheritance in Perl.

    Another ugly thing is that the default AUTOLOAD that often gets used gives this silly error about not finding a *.al file when the real problem is that the module user has mistyped the method name. There is no blocking.al file because there is no "blocking" method for that module. That error message is hugely misleading and I go out of my way to avoid it in the modules I write.

    blocking() is supposed to be an IO::Handle method. I suspect the problem is that this wasn't present in whatever version of Perl is being used. The problem could probably be solved by upgrading Perl.

            - tye (but my friends call me "Tye")