On Thu, Jun 9, 2011 at 6:43 AM, Marek Stepanek
<marekstepa...@yahoo.co.uk> wrote:
> But perhaps this list could help me, to get @INC and $PERL5LIB clean of /sw
> ... How is it possible, that I have $PERL5LIB set to
> %ENV:
>    PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin"
> I only see two files:
>        ~/.profile
> and
>        ~/.tcshrc

PERL5LIB can be set in either one; which one is executed depends on
what shell you're using. The current default shell is Bash, which
reads .profile - at one point in ancient history, the default was
Tcsh, which reads .tcshrc.

> in the first file I only have one line:
>        test -r /sw/bin/init.sh && . /sw/bin/init.sh

If you haven't changed your default shell, that's the culprit. It
executes Fink's init.sh script, which exports the PERL5LIB environment
variable. Again, this behavior goes back a while - they used to think
it was a good idea for the system Perl to be able to see modules that
Fink had installed under /sw/lib.

I haven't used Fink in a while - I switched to MacPorts - but I
*thought* they stopped doing that after a few Mac OS X releases, each
with a new version of Perl that disagreed with those modules, showed
them how problematic that was. If you've been migrating for a while,
that line in .profile could be a remnant from an old install.

At any rate, delete (# or comment) that line, exit from the shell
session and start a new one, and that should clear up your PERL5LIB

> To export the right PERL5LIB, can I add the following line to ~/.tcshrc
> set PERL5LIB = (/System/Library/Perl/5.10.0:/Library/Perl/5.10.0)

That wouldn't accomplish anything - PERL5LIB just adds to the default
paths, and the above are already in the default.

> Syntax seems alright, but I have still the /sw path at the beginning:

Did you log out of the current shell session, and back in? These
startup files are only processed when you start a new shell session,
not every time they're changed.


Cocoa programming in Perl:

Reply via email to