Skip Menu |

This queue is for tickets about the App-perlbrew CPAN distribution.

Report information
The Basics
Id: 72016
Status: new
Priority: 0/
Queue: App-perlbrew

Owner: Nobody in particular
Requestors: eberg [...]

Bug Information
Severity: Critical
Broken in: 0.30
Fixed in: (no value)

Subject: Test for wget or curl doesn't handle all result code values
Download (untitled) / with headers
text/plain 1.1k
This is perl 5, version 12, subversion 2 (v5.12.2) built for sun4-solaris SunOS cfindexprod5-a 5.10 Generic_127111-05 sun4u sparc I get the following error when executing `perlbrew available` or any other perlbrew command that requires downloading using wget or curl: sh: curl: not found Can't exec "curl": No such file or directory at /home/nypntdev/iprs_perl/lib/perl5/App/ line 198. open() for 'curl --silent --location --fail --insecure': No such file or directory at /home/nypntdev/iprs_perl/lib/perl5/App/ line 198. When checking to see if curl or wget is available, the test applied is this: if ($code != 127) { However, at least on my version of Solaris, the status code returned by system has a value of 1. The Perl docs for system() suggest the simple test to check for a status code of 0 to indicate success or failure. perlbrew assumes that if this test passes, then curl (in this case) is working properly, and then tries to open the downloaded content, which doesn't exist. The attached patch file fixes this problem, though it is somewhat simpler, it is also more comprehensive in that it considers all options.
Subject: perlbrew.patch
Download perlbrew.patch
text/x-diff 436b
--- Fri Oct 28 11:57:02 2011 +++ Fri Oct 28 12:19:48 2011 @@ -186,7 +186,7 @@ for my $command (@commands) { my $program = $command->[0]; my $code = system("$program --version >/dev/null 2>&1") >> 8; - if ($code != 127) { + if ($code == 0) { @command = @$command; last; }

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to