3

Мне нужно установить Perl 5.10 на моей коробке OS X 10.5.8.

У меня установлен Macports. И, кажется, у меня также установлен порт perl5.10:

$ sudo port install perl5.10
Password:
--->  Computing dependencies for perl5.10
--->  Cleaning perl5.10

Однако текущая версия Perl по-прежнему 5.8.8

$ which perl
/opt/local/bin/perl

$ perl --version

This is perl, v5.8.8 built for darwin-2level

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

$ /opt/local/bin/perl --version

This is perl, v5.8.8 built for darwin-2level

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Что мне не хватает?

2 ответа2

5

Я думаю, что он будет называться perl5.10, а не просто perl.

2

Где была установлена каждая версия?

  • /usr/bin/perl - 5.8.8

Итак, первое, что нужно проверить, это ваша переменная PATH.

Затем посмотрите в других местах - /usr /local /bin и т.д. - чтобы увидеть, где была установлена новая версия.

Для себя я создаю свой собственный Perl, оставляя системный один для системы; он находится в $HOME/perl/v5.10.1/bin/perl , около версии 5.10.0.

Я использую этот скрипт, который называется «который», чтобы определить, какую версию программы я использую. При использовании 'which -a perl' он сообщит мне все возможные копии Perl, которые я мог бы использовать ...

#!/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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .