in reply to Timeout 0 in LWP::UserAgent

It's very easy to try, and not so hard to check the source.

The source shows 0 won't be replaced, only undef:

my $timeout = delete $cnf{timeout}; $timeout = 3*60 unless defined $timeout;

To try a positive number, zero, and a negative number, I wrote the following:

#! /usr/bin/perl use warnings; use strict; use LWP::UserAgent; for my $t (0, -1, 1) { my $ua = LWP::UserAgent->new( timeout => $t ); print "*** $t\n", $ua->get('http://www.perl.org')->{_content}, "\n +"; }

The output varies, but it's usually something like

*** 0 Can't connect to www.perl.org:443 Connection timed out at /usr/lib/perl5/vendor_perl/5.18.2/LWP/Protocol +/http.pm line 51. *** -1 Can't connect to www.perl.org:80 (timeout) LWP::Protocol::http::Socket: connect: timeout at /usr/lib/perl5/vendor +_perl/5.18.2/LWP/Protocol/http.pm line 51. *** 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>The Perl Programming Language - www.perl.org</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" +/> <!-- ... and the rest of the page ... -->

The zero sometimes makes it for some pages, 1 sometimes times out, -1 always fails the same way.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,