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

I'm a windows guy slowly learning linux from a putty terminal dialed into my web hoster. Right now I've got a nice shared server hosting package from python-hosting.com. Mainly I like P-H because you get trac wiki and svn, all in one, friendly, and not too expensive. Problem is, I want to do catalyst web development there. And catalyst is a little tricky to install without root. (So, I do have shell, just not root.)

Running Catalyst on Dreamhost suggests using cpanplus to install Catalyst without root. But I can't install cpanplus, because my hosters are on perl 5.8.0 and you need at least 5.8.1 for cpanplus. P-H are python guys, I guess, and maybe don't put a high priority on keeping the latest version of perl installed.

Now, I don't know, maybe I can install Catalyst with just CPAN rather than CPANPLUS. Or maybe there's some other way to install catalyst locally. I'm messing around with that now.

But this all got me thinking about the deeper issue, that it would be nice to control what version of perl I'm on. So, before I bug my hoster and ask them to upgrade their perl, can/should I upgrade to a perl running locally myself?

That would be the first option (since I usually prefer doing things myself.) Option 2 is, ask my hosters to upgrade. Option 3 is, switch hosters. This would make sense if the word on the street is that perl 5.8.0 is such an outdated version of perl that it's a warning sign that I should get a better hoster. Curious what the perlmonks think about that :)

Little historical note: by looking at perl history, we have 5.8.0 coming July 2002, 5.8.1 was September 2003, and the latest "official" version, I think, was 5.8.7 in May 2005. (Just for some perspective.) Another article I found helpful with regards to installing something on a shared server was Installing mod perl without superuser priviliges

  • Comment on Can/should I run an upgraded version of perl locally, on a shared web server where I don't have root?

Replies are listed 'Best First'.
Re: Should I ask my hoster to upgrade perl or try to do it myself?
by sauoq (Abbot) on Oct 04, 2005 at 14:37 UTC

    I think it would be reasonable to ask your host to upgrade. If they refuse, consider a new host. Installing a local version of perl and then all the modules you might want to have available might turn out to be a hassle depending on how things are configured on the server you are on, how much disk you are allotted, and that kind of thing. If you really want more control, get a dedicated server (real or virtual) with root access and then install whatever you want.

    Update: Regardless of your host, maybe you should consider installing Linux on a local machine? Either as dual-boot or on an old box. (Linux will run on just about any old machine.) If you can do that, it'll probably prove to be a much better platform to learn on than a shell account on a shared server.

    -sauoq
    "My two cents aren't worth a dime.";
    
Re: Can/should I run an upgraded version of perl locally, on a shared web server where I don't have root?
by PodMaster (Abbot) on Oct 05, 2005 at 08:11 UTC
    But I can't install cpanplus, because my hosters are on perl 5.8.0 and you need at least 5.8.1 for cpanplus.
    No you don't. See http://search.cpan.org/src/KANE/CPANPLUS-0.0562/META.yml:
    name: CPANPLUS
    version: 0.0562
    abstract: Ameliorated interface to the CPAN
    author: Jos Boumans <kane@cpan.org>
    license: perl
    distribution_type: module
    requires:
      perl: 5.6.1
    no_index:
      directory:
        - lib/CPANPLUS/inc
        - inc
    generated_by: Module::Install version 0.36
    
    
    I run CPANPLUS on 5.6.1.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Thanks Podmaster. I see now the problem is 5.8.0 on redhat, something I probably should have mentioned in the initial post. This is the first time I've had such an involved install in a unix environment.

      From the makefile:

      ### there's issues with redhat 9.0's stock perl -- they applied some ### custom patches on their 5.8.0 and it breaks use constant a => sub +{}; if( $^O eq 'linux' and -e '/etc/redhat-release' and $] == '5.008' and (grep /Red Hat, Inc/, values %Config::Config) ) { print loc(" ### IMPORTANT! ###################################################### You are using perl $] supplied by RedHat, who have applied custom patches that break various perl modules, including this one. You will have to migrate to a perl without these flaws. You could do this for example by building a perl installation by hand. You can obtain the sources from www.cpan.org. We're sorry for the inconvenience. ##################################################################### ") . $/; require 5.008001; }
      I wonder if this will cause other problems that would leave me better off developing somewhere else if the hosters won't upgrade, or if it's no big deal. (For all I know there could be other problems with a fresher version.) For now I am going to try installing catalyst without cpanplus.
Re: Can/should I run an upgraded version of perl locally, on a shared web server where I don't have root?
by rinceWind (Monsignor) on Oct 04, 2005 at 15:26 UTC

    Another option to consider is using PAR to build your Catalyst application locally, with your favourite version of perl (5.8.7), and uploading your scripts as an executable. This also avoids the hoster's module version dependency nightmare.

    --

    Oh Lord, won’t you burn me a Knoppix CD ?
    My friends all rate Windows, I must disagree.
    Your powers of persuasion will set them all free,
    So oh Lord, won’t you burn me a Knoppix CD ?
    (Missquoting Janis Joplin)

Re: Should I ask my hoster to upgrade perl or try to do it myself?
by Perl Mouse (Chaplain) on Oct 04, 2005 at 14:43 UTC
    I wonder what kind of response you expect from Perlmonks. Without knowing what kind of services your provider gives you, and what kind of contract you have, how could anyone suggest to switch (or not switch) providers?

    Until recently, part of tasks was taking care of a herd of webservers. Were customers allowed to install software and run it outside the installed webserver? Some of them. Others certainly not. Would I install a specific version of perl (or something else) for them? Again, for some I would. For others, only after they upgraded their contract.

    See, if your website is one of fifty all running from the same Apache and all you pay for is static webpages, PHP, mod_perl and a small database, you're not getting a different version of Perl. But if you're paying for your own (hardware) domain on one of the big boxes, things can be arranged.

    Perl --((8:>*