当前位置:文档之家› perl的各种模块按装

perl的各种模块按装


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




Perl到了第五版增加了模块的概念,用来提供面向对象编程的能力。这是Perl语言发展史上的一个里程碑。此后,广大自由软件爱好者开发了大量功能强大、构思精巧的Perl模块,极大地扩展了Perl语言的功能。CPAN(Comprehensive Perl Archive Network)是internet上Perl模块最大的集散地,包含了现今公布的几乎所有的perl模块。
几个主要的CPAN站点有:
国内:ftp://https://www.doczj.com/doc/4a17211663.html,/pub/languages/perl/CPAN
https://www.doczj.com/doc/4a17211663.html,/
国外:https://www.doczj.com/doc/4a17211663.html,/
https://www.doczj.com/doc/4a17211663.html,/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

现在,写个程序试试吧。

#!/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://https://www.doczj.com/doc/4a17211663.html,/pub/languages/perl/CPAN 。否则,如果您的机器位于防火墙之后,

还需要设置ftp代理或http代理。


获得帮助
cpan>h

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

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

退出
cpan>q

注:有些模块名如 Nagios::Plugin; Regexp::Common;这时安装就得使用命令:

cpan>install Nagios::Plugin

也就是要用全称。



2、Win32下的安装方法:

在Win32下,建议使用ActiveState的Perl for Win32,即ActivePerl。ActivePerl的主页在:
https://www.doczj.com/doc/4a17211663.html,/ 。在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),从https://www.doczj.com/doc/4a17211663.html,/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从这里下载:
https://www.doczj.com/doc/4a17211663.html,/download/contrib/Microsoft/9x/InstMsi.exe
ActivePerl 613从这里下载:
https://www.doczj.com/doc/4a17211663.html,/download/ActivePerl/Windows/5.6/ActivePerl-5.6.0.613.msi

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


perl模块的卸载方法:

所谓库其实就是一个.pm文件,执行:
perl -e 'print join "\n",@INC'
会print出所有模块和库的安装目录,到这些目录下找到相应pm文件,删除掉就可以了。
列出具体的pm文件,执行:
perl -MFile::Find -le 'finddepth({wanted=>sub{print $_ if/\.pm$/},no_chdir=>1},@INC)'
搜索你需要卸载的模块,如:
perl -MFile::Find -le 'finddepth({wanted=>sub{print $_ if/\.pm$/},no_chdir=>1},@INC)' |grep 'GD'
然后删除就ok了。
perldoc -l GD 也可以返回GD模块的地址


或者
% perl -MCGI -e 'print $INC{"CGI.pm"}'

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

[root@test]# perl -MCPAN -e 'install Time::HiRes'
[root@test]# perl -MCP
AN -e 'install File::Tail'
[root@test]# perl -MCPAN -e 'install Date::Parse'
[root@test]# perl -MCPAN -e 'install Net::Netmask'



相关主题
文本预览
相关文档 最新文档