http://www.perlmonks.org?node_id=994580

rpnoble419 has asked for the wisdom of the Perl Monks concerning the following question:

My fellow monks;

I'm working on a 1and1 server with Perl 5.10.1 on it. I'm trying to install perlbrew so I can install a more up to date Perl build. When I run the following command:

curl -kL http://install.perlbrew.pl | bash

I get the following error:

% Total % Received % Xferd Average Speed Time Time Time + Current Dload Upload Total Spent Left + Speed 100 1022 100 1022 0 0 266 0 0:00:03 0:00:03 --:--: +-- 266 ## Download the latest perlbrew ## Installing perlbrew bash: line 40: ./perlbrew-14284: Permission denied

I'm new to Perl on Linux, but I use Perl on Windows every day. Is there a better way to install perlbrew? I have tried using perl -MCPAN -e shell but I get a config error.

Any help will be greatly welcomed.....

Replies are listed 'Best First'.
Re: Installing perlbrew on 1and1
by mbethke (Hermit) on Sep 20, 2012 at 06:27 UTC

    The error message sounds like your directory was mounted with the noexec flag. Maybe you have to do this in /tmp or somewhere where you can actually run stuff without specifying it as an argument of the interpreter, or you have to hack the script to say something along the lines of "perl ./perlbrew-$$", "bash ./perlbrew-$$".

    Edit: as I guess you're probably new to Linux as a whole: use "mount" to see what file systems are mounted with what options, and "pwd" to check where your working directory is.

      Yes I'm very new to Linux (as in 24 hours new). Thanks for the reply...
Re: Installing perlbrew on 1and1
by mje (Curate) on Sep 20, 2012 at 08:18 UTC

    I've just recently had all sorts of problems with perlbrew on Solaris (see Trouble getting perlbrew working on Solaris machine. IIRC, the shell script curl downloads and is passed to bash creates the file you mention in /tmp. If you simple download the file with curl and examine it (instead of passing it to bash) it is fairly straight forward. I'd guess you don't have some permission on /tmp. Try setting TMPDIR to some dir you have permissions on before passing the curl output to bash.

    All the shell script really does is download https://raw.github.com/gugod/App-perlbrew/master/perlbrew and run it.