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: $!";
 }
 

Reply via email to