Wie installiere ich Perl5.10 unter OS X 10.5.8?

3705
Alexander Gladysh

Ich muss Perl 5.10 auf meiner OS X 10.5.8-Box installieren.

Ich habe Macports installiert. Und anscheinend habe ich auch Port perl5.10 installiert:

$ sudo port install perl5.10 Passwort: ---> Abhängigkeiten für perl5.10 berechnen ---> reinigung perl5.10 

Die aktuelle Perl-Version ist jedoch noch 5.8.8

$ welche Perl / opt / local / bin / perl  $ perl --version  Dies ist Perl, v5.8.8 für Darwin-2level  Copyright 1987-2006, Larry Wall  Perl darf nur unter den Bedingungen der Künstlerischen Lizenz oder der GNU General Public License, die im Perl 5 Source Kit enthalten ist.  Die vollständige Dokumentation zu Perl einschließlich der FAQ-Listen finden Sie unter dieses System verwendet "man perl" oder "perldoc perl". Wenn Sie Zugriff auf die haben Internet, richten Sie Ihren Browser auf http://www.perl.org/, die Perl-Homepage.  $ / opt / local / bin / perl --version  Dies ist Perl, v5.8.8 für Darwin-2level  Copyright 1987-2006, Larry Wall  Perl darf nur unter den Bedingungen der Künstlerischen Lizenz oder der GNU General Public License, die im Perl 5 Source Kit enthalten ist.  Die vollständige Dokumentation zu Perl einschließlich der FAQ-Listen finden Sie unter dieses System verwendet "man perl" oder "perldoc perl". Wenn Sie Zugriff auf die haben Internet, richten Sie Ihren Browser auf http://www.perl.org/, die Perl-Homepage. 

Was vermisse ich?

3
Sagen die Installationsprotokolle von macports, dass / opt / local / bin / perl das Installationsverzeichnis war? Vielleicht hat es sich stattdessen für einen seltsamen Ort entschieden, oder die Installation ist auf eine obskure Art fehlgeschlagen, die Sie übersehen haben? Ether vor 14 Jahren 0

2 Antworten auf die Frage

5
kartikmohta

I guess it would be named perl5.10 and not just perl.

Sie können `port contents perl5.10` ausführen, um sicherzugehen, aber meistens ist die ausführbare Datei von Perl 5.10` perl5.10`. mipadi vor 14 Jahren 2
2
Jonathan Leffler

Where was each version installed?

  • /usr/bin/perl is 5.8.8

So, the first thing to check is your PATH variable.

Then look at other places - /usr/local/bin and so on - to see where the new version was installed.

For myself, I build my own Perl, leaving the system one to the system; it is in $HOME/perl/v5.10.1/bin/perl, near version 5.10.0.

I use this script - called 'which' - to establish which version of a program I'm using. Used with 'which -a perl', it would tell me all the possible copies of Perl I could be using...

#!/bin/sh # # @(#)$Id: pathfile.sh,v 2.1 2008/07/14 17:42:13 jleffler Exp $ # # Which command is executed # Loosely based on which from Kernighan & Pike "The UNIX Programming Environment" oldpath=$PATH PATH=/bin:/usr/bin usage() { echo "Usage: $0 [-afrwx] [-p path] command ..." >&2 exit 1 } tflag=-x aflag=no while [ $# -gt 0 ] do case $1 in -[frwx]) tflag=$1 shift;; -p) oldpath=$2 shift 2;; -a) aflag=yes shift;; --) shift; break;; -*) usage;; *) break;; esac done case $# in 0) usage;; esac PATHDIRS=`echo $oldpath | sed ' s/^:/.:/ s/::/:.:/g s/:$/:./ s/:/ /g'` for cmd in $* do fflag=no case "$cmd" in */*) if [ ! -d $cmd ] && [ $tflag $cmd ] then echo $cmd else echo "$cmd: not found" 1>&2 fi;; *) for directory in $PATHDIRS do if [ ! -d $directory/$cmd ] && [ $tflag $directory/$cmd ] then echo $directory/$cmd fflag=yes [ $aflag = no ] && break fi done if [ $fflag = no ] then echo "$cmd: not found" >&2 fi esac done 
Wird dies nicht von `/ usr / bin / which` bereitgestellt? Jeremy L vor 14 Jahren 0
Es hängt davon ab, was Sie als / usr / bin / welches haben. Die Maschinen, die ich in den späten 80ern verwendete, hatten in keinem Systemverzeichnis ein Verzeichnis, was ärgerlich war. Daher habe ich diesen Code geschrieben. Ich habe vor kurzem die Optionen -a, -r, -w, -x hinzugefügt. Wenn Sie eine Funktion haben, brauchen Sie diese nicht. Wenn Sie dies nicht tun, kann es Ihnen etwas Leid ersparen. Jonathan Leffler vor 14 Jahren 1