in reply to Re^5: Apple says sorry for Mac Perl breakage (sort @INC)
in thread Apple says sorry for Mac Perl breakage

Hah!! And the current situation Apple and Mac users currently find themselves in is so much better? This thread shoots your comment out of the water!! :-)

Sysadmins should know how to keep track of the two. Developers likely not, but then the sysadmins should be helping them out by setting appropriate PATH related environment variables, etc. And really talented developers will pick up the necessary sysadmin skills. So really all you have done is point out that you can't fix stupid.

That still doesn't change that there should be a clean Perl installation that the OS, third party vendors, etc. can use safely and another installation that the developers can have some fun with (i.e. if they break t it doesn't break the Perl used by OS scripts, vendor scripts, etc.).

I mean, if you replace the Bourne Shell binary with the Bash binary on a Solaris system wouldn't you expect to break some things? Then why do you think it's okay to make changes to the OS's Perl installation?

There are conflicting goals at play: a stable, clean Perl installation that the OS, vendors, etc. can rely on and the need for a Perl installation that can be enhanced and upgraded. If you have two (or more) Perl installations then you can have your cake and eat it to. Otherwise, you have to pick.

[ Of course that's ignoring that the cake is a lie! ;-) ]

Elda Taluta; Sarks Sark; Ark Arks

  • Comment on Re^6: Apple says sorry for Mac Perl breakage (sort @INC)

Replies are listed 'Best First'.
Re^7: Apple says sorry for Mac Perl breakage (sort @INC)
by merlyn (Sage) on Apr 01, 2009 at 04:50 UTC
    Hah!! And the current situation Apple and Mac users currently find themselves in is so much better?
    Nope, just saying why your so-called "solution" isn't much better. :)
      Hmm, let me clarify. You know how some third-party apps ship with their own version of Perl (or Java)? Well, I think that's what should be done for operating system related tasks. A special Perl dedicated to that that can be kept clean and pure as possible. And then there should be a Perl on the system meant for more general use. Right now most people, including sysadmins, that I see just use the Perl provided in the distro. Some of these are people just running it at home, or do not have a lot of sysadmin experience. So in effect it is fostering bad habits. I see people even here at work that I consider to be good SysAdmins doing this. And it can be hard to argue against because it's one of those common sense things once you have enough experience. So if the OS vendors (e.g. Red Hat) started doing something like what I suggest above then that would become a Best Practice.

      Elda Taluta; Sarks Sark; Ark Arks

        When a third-party app ships their own version of Perl (or Java), the third-party is responsible for maintaining it, not the sysadmin. The reason sysadmins just use the Perl provided in the distro is because they know (from experience) that maintaining more than one version is a headache. Maintaining more than one version of anything (at the same time) is a headache. So you can either use the distro provided Perl (and let the OS vendor maintain it), or you can throw caution to the wind and replace it with with your own (and then you the sysadmin must maintain it). There are pros and cons to each and the decision to go one way or another will have a lot to do with the sysadmin's experience. But intentionally running multiple versions of Perl in a production environment is fostering bad habits (IMO).