设为首页 收藏本站
查看: 789|回复: 0

[经验分享] Perl 模块的军火库 — CPAN

[复制链接]

尚未签到

发表于 2018-8-31 08:32:39 | 显示全部楼层 |阅读模式

  CPAN 介绍
  Perl 模块是 Perl 的库,就好比 C/C++ 写的可执行文件需要用到.a静态库和.so动态库一样。
CPAN 是 Perl  官方站点的一个“军火库”,里面有上百万的 Perl 模块,用来支撑 Perl 强大的功能,从生物工程到天文计算,从宏观世界到原子力学,无所不有。
  为了很方便的安装 Perl 模块,有人做了一个 CPAN 模块,用 cpan 命令来管理和安装 CPAN 网站上的所有 Perl 模块。
  cpan命令
  cpan 命令其实也是一个perl脚本,对于不同版本的 Perl,可能 cpan 命令的功能强弱有所不同;执行 cpan,我们进入了一个类似 bash  的界面,暂且叫做 cpanshell,cpanshell 上可以像 bash 一样输入命令,这个命令是  CPAN 所特有的。
  我们一般常用到的 cpan 命令主要有:

  •   help:help 命令是显示帮助信息,这里面包含了所有的cpan命令,虽然看上去只有一屏,但功能确是非常强大哟!


  •   m  //:这个是一个模式,用来查找perl模块,有点像perl正则里面的m//,用于匹配(match),但这里m与//之间多了一个空格,且这里的m指modules,意思是根据模块名称查找,“//”内可以使用正则;  同理a(authors)、b(bundles)、d(distributions)和i(in all)都有这种模式。


  •   install:install命令是安装perl模块,一般是接模块名称,而不是压缩包名字。比如DBD::mysql,而不是DBD-mysql,即“install  DBD::mysql”。
  CPAN 配置
  CPAN 安装是网络安装,如果没有网络,使用 cpan 命令是无法安装的,所以 CPAN 安装的速度是与网络有直接关系;
  当然,我们可以选择一个快速的镜像站点来安装CPAN模块,那如何配置呢?
  如果是第一次使用 CPAN,那么执行 cpan 命令的时候,cpan  命令会给出配置的友好提示,不过很多人都对这个友好提示的繁冗程度显得很不耐烦,不过新版本的 CPAN 模块已经改善了这一缺点;如果不是第一次使用  CPAN,而以前别人配置的 CPAN 镜像站点出了问题不能下载,或镜像站点太慢等等修改一下配置信息,可以重新配置 CPAN:
  CPAN>o conf init
  若不是 root 用户,使用 cpan 命令或 perl -MCPAN -e shell 也可以进行配置后安装:
  首先,配置好 CPAN 配置,这个配置可以使用非 root  用户配置好,配置好的内容一般在$HOME/.cpan/CPAN/MyConfig.pm文件内;配置文件 MyConfig.pm 中配置信息中确定有  ‘makepl_arg’=>q[PREFIX=~/perl] 这一行,~/perl为你当前用户有权限读、写和执行的目录;
  最后,设置  PERL5LIB 环境变量,把 ~/perl 下的相关目录添加进 PERL5LIB。以 bash shell 为例,在 ~/.bash_profile  里添加如下即可:
  export  PERL5LIB=~/perl/lib:\
  ~/perl/lib/perl5/5.8.0/i386-linux-thread-multi:\
  ~/perl/lib/perl5/5.8.0:\
  ~/perl/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi:\
  ~/perl/lib/perl5/site_perl/5.8.0:\
  ${PERL5LIB}
  模块检测
  运行以下命令:
  $perl -e ‘use Module’
  如果没有任何输出,则表示模块 Module 成功安装
  打印模块版本的命令如下:
  $perl -MModule -e ‘print $Module::VERSION;’
  注意事项
  使用 CPAN 安装模块有时候会 make test 一步失败。可到 $HOME/.cpan/build 的相应目录下直接执行“make  install”命令;
  第一次安装 CPAN 时,可以先安装:
  install Bundle::CPAN
  或
  installBundle::CPANxxl?
这样以后的安装包安装就会少些需要的依赖,建议安装。由于公司的大部分系统都不能访问外网,所以苦命的我只能在  CPAN  官网上查询要安装包的依赖性,然后一一下载安装,往往是安装好了这个又发现需要其他的依赖。不知道跟我有同样烦恼的朋友是否有好的解决办法?对了,如果有朋友想查询系统中安装了哪些  Perl 模块请参考这篇 文章 。
相关日志:

  •   2011年07月14日 -- 查看已经安装的  Perl 模块 (2)
  •   2011年05月20日 -- 在  Cacti 下实现对 Tomcat 的监控 (10)
  •   2010年06月12日 -- mailto  参数详解 (1)
  •   2011年10月11日 -- Oracle HA 脚本 (0)
  •   2011年07月28日 -- 详解  MANIFEST.MF 文件 (0)
  •   2010年10月27日 -- 怎样获得  Excel 中按钮所在 Cell 的位置? (0)
Zemanta

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-559115-1-1.html 上篇帖子: 项目总结:LAMP(Linux+Apache+Mysql+Perl/PHP/Python) 下篇帖子: 查看已经安装的 Perl 模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表