正如Fayland 所讲的" Perl 最让其他语言的人嫉妒的地方就是 CPAN. 有了 CPAN 我们几乎能找到所需要的任何东西。"
我们常用 perl 中的模块,就象一个标准一样,不象别的语言,一直担心这个模块是否可用,是否有人维护等。。。
但我们用了 perl 的模块后,有个小问题,当我个有上千台服务器时,我们不可能每台服务器上编译一次,所以我们需要用到 perl 模块打包.编译成 rpm 包,这样用 Yum 可以非常方便的安装和升级,但怎么打包,很多人很头痛的.其它在 perl 中这是非常容易的.
我们使用 cpan2rpm 就行了.这个软件可以指定 tar.gz 包来生成 rpm 包。也可以只写一个模块的名字,会自动从 CPAN 网络上下载下来.
使用方法如下:
[root@localhost ~]# cpan2rpm YAML
-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP
-- module: YAML --
Using cached URL: http://search.cpan.org//CPAN/authors/id/A/AD/ADAMK/YAML-0.71.tar.gz
Tarball found - not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/YAML-0.71.tar.gz]
Prototype mismatch: sub main::prompt: none vs ($;$) at (eval 38) line 2
main::BEGIN() called at (eval 38) line 2
eval {...} called at (eval 38) line 2
eval 'use ExtUtils::MakeMaker 6.42
;' called at /usr/bin/cpan2rpm line 486
main::get_meta() called at /usr/bin/cpan2rpm line 54
Generating spec file
SPEC: /usr/src/redhat/SPECS/YAML.spec
RPM: /usr/src/redhat/RPMS/noarch/perl-YAML-0.71-1.noarch.rpm
SRPM: /usr/src/redhat/SRPMS/perl-YAML-0.71-1.src.rpm
-- Done --如上所示,生成了一个包,在 /usr/src/redhat/RPMS/noarch/perl-YAML-0.71-1.noarch.rpm 别的机器直接安装就行了.相当的方便吧。点本连接下载 cpanrpm 包: cpan2rpm