Como instalar perl5.10 no Mac OS X 10.5.8?


3

Eu preciso instalar o perl 5.10 na minha caixa OS X 10.5.8.

Eu tenho macports instalado. E eu pareço ter o port perl5.10 instalado também:

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

No entanto, a versão atual do perl ainda é 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.

o que estou perdendo?


Os logs de instalação do macports dizem que / opt / local / bin / perl era o local de instalação? Pode ter escolhido um lugar estranho para ir em vez disso, ou talvez a instalação tenha falhado de uma maneira obscura que você perdeu?
Ether

Respostas:


2

Onde cada versão foi instalada?

  • / usr / bin / perl é 5.8.8

Então, a primeira coisa a verificar é sua variável PATH.

Então olhe para outros locais - / usr / local / bin e assim por diante - para ver onde a nova versão foi instalada.

Para mim, eu construo meu próprio Perl, deixando o sistema um para o sistema; está dentro $HOME/perl/v5.10.1/bin/perl, perto da versão 5.10.0.

Eu uso esse script - chamado 'which' - para estabelecer qual versão de um programa estou usando. Usado com 'which -a perl', ele me contaria todas as cópias possíveis do Perl que eu poderia estar usando ...

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

Isso não é fornecido por /usr/bin/which?
Jeremy L

1
Depende de qual você tem como / usr / bin / which. As máquinas que usei no final dos anos 80 não tinham nenhuma em qualquer diretório bin do sistema, o que era um incômodo. Daí eu inventei esse código. Eu adicionei as opções -a, -r, -w, -x relativamente recentemente. Se você tem um funcional que não é necessário; se não o fizer, poderá poupar algum sofrimento.
Jonathan Leffler

5

Eu acho que seria nomeado perl5.10 e não apenas perl.


2
Você pode correr port contents perl5.10 para ter certeza, mas principalmente como o executável Perl 5.10 é perl5.10.
mipadi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.