in reply to How to handle Cross-platform Perl, modules, and versioning

How are you using them now that a simple use IO::Handle;, for example, does not work across platforms?

Replies are listed 'Best First'.
Re: Re: How to handle Cross-platform Perl, modules, and versioning
by P0w3rK!d (Pilgrim) on Apr 15, 2003 at 20:47 UTC
    Do you mean IO as a whole?

    This code:

    use IO::handle; use FileHandle;
    is embedded in the functions of logfile.pm, which is a custom library that I have no control over. I am trying to reference all the custom libraries in my code:
    BEGIN { @PERL_SHARE = ( "/foo/custom/perl/lib/Custom_mods", ); unshift(@INC, @PERL_SHARE); };

    logfile.pm is in the Custom_mods directory.
    -P0w3rK!d
Re: Re: How to handle Cross-platform Perl, modules, and versioning
by P0w3rK!d (Pilgrim) on Apr 15, 2003 at 20:50 UTC
    Also I have not checked my changes back into ClearCase yet. I'm trying to get everything synchronized with the Perl libaries first. Hence, the other non-UNIX platforms that are running my production system have not been modified.
    -P0w3rK!d
Re: Re: How to handle Cross-platform Perl, modules, and versioning
by P0w3rK!d (Pilgrim) on Apr 17, 2003 at 15:21 UTC
    I solved one problem. For some reason, Perl 5.6.1 on solaris has 2 versions of IO. Therefore, my PERL5LIB needs to look like this:
    PERL5LIB=/usr/local/lib/perl5/5.6.1/:/usr/local/lib/perl5/5.6.1/sun4-s +olaris:/foo/custom/perl/lib

    The version requirement was being caught because of a problem with the "newer" solaris IO::Handle being the only module to reference. And guess what... there is nothing in that directory but Socket. IO::Handle lives in the /sun4-solaris sub-directory.

    Once this fix was made, logfile.pm was able to find the correct version of IO::Handle.

    -P0w3rK!d