On Wednesday, February 26, 2003, at 12:41 PM, Morbus Iff wrote:


>Q1: How badly is this decision likely hurt me?  (Some reading reveals
>that OS X already depends on its own perl installation, so if users
>screw it up they will have bigger problems than my app not working.)

If your Perl script is native perl, ie., it doesn't utilize XS modules
(like Compress::Zlib, HTML::Parser, XML::Parser), then a user changing
the underlying version of Perl should not have any dastardly affect. If,
however, you are using XS modules (and you ship them with your application),
then differing Perl versions will cause issues (ie., your script won't run).

Not entirely true - an upgrade from 5.6.0 to 5.6.1 doesn't affect binary compatibility unless you try to, like if you use different compiler settings or turn on threading or something (which you *really* shouldn't do with 5.6.x).


Upgrading to 5.8.x will certainly always break binary compatibility, though.



>Q2: Is there in fact a good solution for bundling my scripts, a perl >interpreter, and all required modules/libraries into a single >app/bundle/whatever in such a way that I do not need to depend on the >version provided by the OS?

With OS X, none that I'm currently aware. You may want to look into a Cocoa "wrapper" around your application, which I use for my AmphetaDesk [1].

Another option may be PAR, which I haven't used yet myself, but which is supposed to handle a lot of this stuff for you:


http://search.cpan.org/author/AUTRIJUS/PAR-0.63/


>Q3: In my younger and foolish days (about three weeks ago), I munged
>the perl installation on my development machine (or rather, perl
>-MCPAN munged it for me).  How can I get back the exact perl setup
>that comes preinstalled with OS X?  I suppose I can wipe and reinstall
>the disk if necessary, but I imagine there is a better way.

Besides a full reinstall, you could look into extracting the files from your OS X CDs. There's a utility to do so on versiontracker.com somewhere (who's name I can't remember - searching for "package" may help).

It's "Pacifist", and this was what I was going to suggest too. It's what I used to restore to the perl that came with 10.1.2 or something when I mucked it up.


Later, I mucked up the perl that came with 10.2.1, and to restore that I just used 'cp' in the terminal to grab /System/Library/Perl/ from the Jaguar install CDs. On those, it's not even hidden in bundles.

(Never mind that the perls on these versions are probably exactly the same thing. =)

-Ken



Reply via email to