I got these LWPng problems resolved.
The problem of "use base" causing a "Can't locate ... in @INC" was fixed
by commenting out the "use base" lines. Line 613 can be improved by
deleting the "::Active", but that gives "redefined subroutine" warnings.
CGI::Carp shows up problems in eval blocks and various bugs that -w and
'use strict' can't find, and CGI::Carp' messages can be suppressed using
this code:
my $OldSigDie = $SIG{__DIE__}; # Disable errors from CGI::Carp
$SIG{__DIE__} = sub { if (
0>index($_[0],'vendor has not defined POSIX macro EINPROGRESS')
&& 0>index($_[0],'vendor has not defined Fcntl macro')
) { &$OldSigDie }; } if ( ! defined($^S));
... CODE ...
$SIG{__DIE__} = $OldSigDie;
(It looked like Activestate have documented Fcntl constants in their
Perl 5.6.0 build 615, but the constants are absent.
Non-blocking socket connects code
At 00:23 00.09.06 +1200 Wednesday, ...
...
>--------------------------------------------------------------------
> 1: #!/usr/bin/perl -w
> 2:
> 3: use strict; # use warnings qw(all);
> 4:
> 5: use CGI::Carp qw(fatalsToBrowser);
> 6: CGI::Carp::set_message("Execution ends");
> 7:
> 8* use LWP::Conn::HTTP ();
...
>./LWP/Conn/HTTP.pm :
...
>612 package LWP::Conn::HTTP::ContLen;
>613* use base qw(LWP::Conn::HTTP::Active);
...
>[Tue Sep 5 06:49:53 2000] Fcntl.pm: Subroutine blocking redefined at
>LWP/Conn/_Connect.pm line 43.
>Content-type: text/html
Resolved by undefining before changing: undef *IO::Handle::blocking;
><H1>Software error:</H1>
><CODE>Can't locate LWP/Conn/HTTP/Active.pm in @INC [*$INC*] at (eval
>9) line 3.
></CODE><P>