我需要在我的 OS X 10.5.8 机器上安装 perl 5.10。
我已经安装了 macports。而且我似乎还安装了 port perl5.10:
$ sudo port 安装 perl5.10 密码: ---> 计算 perl5.10 的依赖关系 ---> 清理 perl5.10
但是当前的 perl 版本仍然是 5.8.8
$ perl /opt/本地/bin/perl $ perl --version 这是为 darwin-2level 构建的 perl,v5.8.8 版权所有 1987-2006,Larry Wall Perl 只能在艺术许可证或 GNU 通用公共许可证,可以在 Perl 5 源代码工具包中找到。 Perl 的完整文档(包括常见问题列表)可以在以下位置找到: 使用“man perl”或“perldoc perl”访问此系统。如果您有权访问 互联网,请将您的浏览器指向 http://www.perl.org/,即 Perl 主页。 $ /opt/local/bin/perl --version 这是为 darwin-2level 构建的 perl,v5.8.8 版权所有 1987-2006,Larry Wall Perl 只能在艺术许可证或 GNU 通用公共许可证,可以在 Perl 5 源代码工具包中找到。 Perl 的完整文档(包括常见问题列表)可以在以下位置找到: 使用“man perl”或“perldoc perl”访问此系统。如果您有权访问 互联网,请将您的浏览器指向 http://www.perl.org/,即 Perl 主页。
我错过了什么?
答案1
每个版本安装在哪里?
- /usr/bin/perl 是 5.8.8
因此,首先要检查的是您的 PATH 变量。
然后查看其他地方 - /usr/local/bin 等等 - 查看新版本的安装位置。
对于我自己,我构建了自己的 Perl,将系统留给系统;它位于$HOME/perl/v5.10.1/bin/perl
,接近版本 5.10.0。
我使用这个脚本(称为“which”)来确定我正在使用的程序的版本。与“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
答案2
我猜它会被命名为 perl5.10,而不仅仅是 perl。