There a change in behavior between perl 5.6 and 5.8.0 that
causes breakage in libwww 5.65 under win32. This change
may or may not be a bug. Here's the report I sent to
[EMAIL PROTECTED]:
Sockets default to :crlf mode with perl 5.8.0. This is a change
from the default behavior with 5.6. What's more, "binmode( $socket )"
seems to have no effect. The only way I've been able to get a raw
mode socket is to "set PERLIO=:raw" before the program starts.
I'm not the first to discover the problem, which is discussed here:
http://perlmonks.org/index.pl?node_id=184331
This includes some code to demonstrate the change in behavior.
The issue has also been discussed in perl5-porters:
http://aspn.activestate.com/ASPN/Mail/Message/1292668
However, I couldn't find a PerlBug entry, so I'm making this report.
This report was assigned an ID of [perl #16234].
Under win32, libwww 5.65 fails tests in robot/ua.t and local/http.t.
The problem is in HTTP::Daemon. See below for a patch that allowed
me to pass all tests. This patch **is not** presented as a solution,
but just as an aid to understanding the problem.
--
Warren Jones
Fluke Corporation
------------------------------------------------------------------------
Index: t/local/http.t
===================================================================
RCS file: /usr0/sweng/src/active/CVS.repo/perlmod/libwww/t/local/http.t,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 http.t
--- t/local/http.t 2002/08/06 20:52:43 1.1.1.3
+++ t/local/http.t 2002/08/14 15:42:58
@@ -38,6 +38,7 @@
use Config;
my $perl = $Config{'perlpath'};
$perl = $^X if $^O eq 'VMS';
+ $ENV{PERLIO} = ":raw";
open(DAEMON, "$perl local/http.t daemon |") or die "Can't exec daemon: $!";
}
Index: t/robot/ua.t
===================================================================
RCS file: /usr0/sweng/src/active/CVS.repo/perlmod/libwww/t/robot/ua.t,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 ua.t
--- t/robot/ua.t 2002/08/06 20:52:48 1.1.1.3
+++ t/robot/ua.t 2002/08/14 15:42:49
@@ -39,6 +39,7 @@
use Config;
my $perl = $Config{'perlpath'};
$perl = $^X if $^O eq 'VMS';
+ $ENV{PERLIO} = ":raw";
open(DAEMON , "$perl robot/ua.t daemon |") or die "Can't exec daemon: $!";
}