Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have downloaded from CPAN a module (Net::SSH::Perl) that uses IO::Handle::blocking and "Can't find method ..." it on the fairly old perl-5.8.0 Installation where I want to use it. But 'man IO::Handle' documents it. How do I use it? Please not "Update to newest perl" because it's not my server, and there are many CGI-Scripts.

Replies are listed 'Best First'.
Re: The blocking method in IO::Handle
by esskar (Deacon) on Feb 21, 2005 at 16:03 UTC
    what operating system are you using?
    blocking is a XS function which may not supported by your OS!
      It's linux! And I have now found (by wild experimenting) that calling perl with "-MIO::Handle" let's it vanish. But why? Apparently it's loaded from the modules anyway, or they couldn't construct the object.

        Native Perl IO handles are constructed by the perl interpreter without the IO::Handle module and are treated as IO::Handle objects automatically by Perl. But, the methods for IO::Handle don't get loaded unless someone loads the IO::Handle module. If Net::SSH::Perl is using IO::Handle methods, then it should be loading the required module. Submit a bug report against Net::SSH::Perl.

        - tye        

        but you are sure that IO::Handle exists on your maschine?