关闭

perl安装模块

326人阅读 评论(0) 收藏 举报

各种平台下Perl模块的安装方法

来源:http://www.linuxforum.net David lee (2001-04-21 18:11:53)


    Perl到了第五版增加了模块的概念,用来提供面向对象编程的能力。这是Perl语言发展史上  
的一个里程碑。此后,广大自由软件爱好者开发了大量功能强大、构思精巧的Perl模块,极大地  
扩展了Perl语言的功能。CPAN(Comprehensive Perl Archive Network)是internet上Perl模块  
最大的集散地,包含了现今公布的几乎所有的perl模块。  

    几个主要的CPAN站点有:  
    国内:ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN  
          http://cpan.qz.fj.cn/  
    国外:http://www.cpan.org/  
          http://www.perl.com/CPAN-local/  

    我在这里介绍一下各种平台下perl模块的安装方法。以安装DBI模块为例。  

1、Linux/Unix下的安装方法:  

    Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。第一种方法是从CPAN上下载  
您需要的模块,手工编译、安装。第二种方法是联上internet,使用一个叫做CPAN的模块自动完  
成下载、编译、安装的全过程。  

a、手工安装的步骤:  

从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。  
cd /usr/local/src  
解压缩这个文件:  
tar xvzf DBI-1.13.tar.gz  
这时会新建一个DBI-1.13的目录。  
cd DBI-1.13  

生成makefile:  
perl Makefile.PL  
建立模块  
make  
测试模块  
make test  
如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。安装模块前,先要  
确保您对perl5安装目录有可写权限(通常以su命令获得),执行:  

make install  

不同于拥有root权限的安装,对于用户,必须在第一步指定一个拥有合适权限的安装模块的目标路径。

比如说perl Makefile.PL PREFIX=/home/USERNAME/usr  (PREFIX前不用加--,貌似PERL的参数不用加--)

让你的脚本能够找到你安装的模块

当你像上面一步那样安装了模块在/home/USERNAME/usr下面后,如果在你的程序中要用到这些模块,你可以通过两种方法实现:

use lib qw(/home/USERNAME/usr/lib/perl5 /home/USERNAME/usr/lib/perl5/site_perl);

或者BEGIN { unshift @INC, qw(/usr/home/USERNAME/usr/local/lib/perl5 /usr/home/USERNAME/usr/local/lib/perl5/site_perl); }

其原理就是perl搜索模块的路径存放在@INC数组中,只要将用户自定义的模块路径加入到该数组中就行

8.模块的使用

此时,模块已经安装完毕。如果在shell下直接运行Perl程序,则模块可以正常调用;但若是在浏览器中运行,由于我们此前设置的路径仅对当前用户起作用,Perl程序还是无法调用新添加的模块。解决的方法很简单,就是在你的脚本最上方加入要调用的模块的路径,这里应该是:

use lib '/home/user/CPAN/share/perl/5.8.4'


在perl脚本外设置perl模块搜索路径

如果需要在perl脚本外设置perl模块搜索路径(比如说要解决安装模块的依赖关系)时,可以通过设置环境变量来解决。方法如下:

export PERL5LIB = /
/home/<username>/usr/lib/

/home/<username>/usr/lib/perl5/site_perl

当然如果你把它放在.bashrc中,此设置便可在以后每次登录系统都会起作用。

export PERL5LIB = 写法一样





现在,写个程序试试吧。  

#!/usr/bin/perl -w  
use strict;  
use DBI;  
..  
   

    上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,  
所以最好先看看安装目录里的README或INSTALL。另外,上述过程是针对动态链接的Perl编译  
器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将  
新的模块静态链接到perl编译器中,可能还需要重启机器。  
   

b、使用CPAN模块自动安装:  

安装前需要先联上线,并且您需要取得root权限。  
perl -MCPAN -e shell  
初次运行CPAN时需要做一些设置,如果您的机器是直接与internet相联(拨号上网、专线,etc.),  
那么一路回车就行了,只需要在最后选一个离您最近的CPAN镜像站点。例如我选的是位于国内的  
中国自由软件库ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN 。否则,如果您的机器  
位于防火墙之后,还需要设置ftp代理或http代理。  

获得帮助  
cpan>h  

列出CPAN上所有模块的列表  
cpan>m  

安装模块  
cpan>install DBI  
自动完成DBI模块从下载到安装的全过程。  

退出  
cpan>q  
   
   

2、Win32下的安装方法:  

    在Win32下,建议使用ActiveState的Perl for Win32,即ActivePerl。ActivePerl的主页在:  
http://www.activestate.com/ 。在Win32下,最好也使用专门为ActivePerl定制的Perl模块。从  
CPAN下载的Perl模块不能很好地在ActivePerl下使用。类似于CPAN模块,ActiveState也开发  
了一个自动安装工具叫做PPM(Perl Package Manager)。  

最通常的安装方法是:  
首先联上线  
在dos命令行下启动ppm  
ppm  

获得帮助  
PPM>h  

列出ActiveState站点上所有为Perl模块的清单。  
PPM>search  

安装模块  
PPM>install DBI  
自动完成DBI模块从下载到安装的全过程。  

退出  
PPM>q  

如果您的机器位于防火墙之后,通过http代理上网,那么可以使用下面的方法。  

对于老的基于perl 5.005的ActivePerl版本(ActivePerl 522以下版本,不包括ActivePerl 522),从  
http://www.ActiveState.com/ppmpackages/5.005/zips/下载您需要的Perl模块,例如DBI.zip。  
将其解压缩在C:\TEMP\DBI下  
cd \TEMP\DBI  
ppm install DBI.PPD  

最新的基于perl 5.6的ActivePerl版本(ActivePerl 613及以上版本)的安装方法略有不同。安  
装ActivePerl 613前需要先安装Microsoft的Windows Installer。  
Windows Installer从这里下载:  
http://activestate.com/download/contrib/Microsoft/9x/InstMsi.exe  
ActivePerl 613从这里下载:  
http://activestate.com/download/ActivePerl/Windows/5.6/ActivePerl-5.6.0.613.msi  

对于基于perl 5.6的ActivePerl版本,从  
http://www.activestate.com/PPMPackages/5.6/  
下载您需要的Perl模块的安装描述文件,例如DBI.PPD  
安装模块前需要先联上线  
ppm install DBI.PPD。  
   
   

    以上较为详细地描述了各种平台下Perl模块的安装方法。希望能够帮助国内Perl爱好者们通过  
使用现有大量优秀的Perl模块,避免重复劳动,提高效率,更好发挥Perl语言的强大威力。  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8638次
    • 积分:98
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条