Perl学习笔记之CPAN使用介绍

CPAN(Comprehensive Perl Archive Network:全面的Perl存档网络)是查找任何Perl有关的东西的中心仓库。它包含从整个Perl社区收集来的智慧:成百上千的 Perl模块和脚本,相当于好几本书的文档,以及整个Perl发布。如果有东西是用Perl写的,而且这个东西很有用而且是自由的,那么它很有可能就在CPAN上。CPAN在全世界都有镜象,你可以在位于http://www.perl.com/CPAN 的CPAN 路牌上找到离你最近的镜象。那块路牌会记住你选择的是哪个镜象并且你以后再访问 http://www.perl.com/CPAN/ (注意最后的斜杠)的时候就会自动重新定向到那个镜象。另外,你也可以从http://www.cpan.org开始。这个站的界面不同,但是数据是一样的。

authors

这个目录包含许多子目录,每个贡献者一个。比如,如果你想找 Lincoln Stein 那些写得非常好的 CGI 模块(现在是标准 Perl 版本的一部分了),并且你碰巧知道是他写了这些模块,那么你就可以到authors/Lincoln_stein 目录里看看。如果你不知道是他写了这些模块,那么你可以到下面描述的 modules 目录里找。

doc

这个目录保存所有风格的Perl文档,包括Perl的官方手册页的好几种不同的排列和格式,比如文本,HTML,PostScript,和Perl自身的 pod 格式。

modules

这个目录包含用Perl或者Perl和C混合写成的模块。

ports  * 这个目录包含源代码,有时候还有一些预编译好的可执行的Perl移植,主要针对那些在标准版本里并不直接支持的操作系统,或者某些很难用的编译器。scripts * 这个目录包含少量从全世界各地发来的各种各样的Perl程序。它们可以用做独立的程序,或者也可以用做例子。目前,这里面还没有很多程序列出,不过,随着时间的推移,这个区域会变得越来越丰富。Perl Power Tools project (Perl 万能工具箱,PPT)也放在这里。PPT的目标是用Perl重新制作所有Unix 、工具。大多数标准的已经完成了,另外还有有些不那么标准的也做完了。

src

在这个目录里,你可以找到标准Perl发布版本的源程序。实际上,是两个标准 Perl版本的源程序,一个标记着 stable(稳定版),另外一个是 devel (开发版)。(该目录的索引页有详细解释。)它们都只是相应版本的链接。早我们写这些的时候,stable.tar.gz 是到 perl-5.6.0.tar.gz(通常的方案是:如果版本号的第二个数字是偶数,那么它就是正式版本,如果是奇数,那么是开发版。后面的.tar.gz 后缀有时候是 .tgz,表示它是一个标准的互联网格式:GNU 压缩的tar归档,常称做“tarball”)的符号链接。

安装Perl的Source

代码如下:

$  wget http://www.cpan.org/src/5.0/perl-5.18.2.tar.gz   
$  tar -xzf perl-5.18.2.tar.gz   
$  cd perl-5.18.2   
$  ./Configure -des -Dprefix=$HOME/localperl   
$  make   
$  make test   
$  make install

安装Perl的Module
方法1: 手工安装
假如安装DBI模块,并放/home/Bird目录。

代码如下:

$ cd /home/Bird   #假设放此目录。  
$ tar xvzf DBI-1.13.tar.gz#解压缩  
$ cd DBI-1.13  #进入新创建目录 
$ perl Makefile.PL #生成Makefile文件  
$ make  #建立模块    
$ make test #测试模块   
$ make install #编译模块  
$ 写一个测试程序,如下: 
#!/usr/bin/perl -w   
use strict;   
use DBI;   
.. 

测试模块是否可用,如果没报错,则OK!

此方法适宜:安装包已经准备好的情况。Linux下绝大部分包可用此方法安装!特殊情况需要查询安装说明。
方法2: cpan安装

代码如下:

perl -MCPAN -e shell   
cpan>h                 #获取帮助  
cpan>m                   #获取模块 
cpan[1]> i /DBI/       #匹配查找   
cpan>install DBI      #安装模块   
cpan>q                 #退出安装

此方法适宜:主机联网,没有被墙!

(0)

相关推荐

  • Perl中的10个操作日期和时间的CPAN模块介绍

    能够操控日期和时间对于大多数编程语言来说是基本的能力,Perl也不例外.但是在碰到与时间相关的更加复杂的处理时,Perl自带的功能常常就显得力不从心了.在这种情况下,上Perl综合典藏网(CPAN)看看是一个好主意,上面有很多随时可以使用的Perl模块,让开发人员能够有效地进行日期和时间操作.花点时间浏览这个网站看看是否能够找到一些在下一个项目里用得上的东西是值得的. 本文列出了Perl CPAN上用来操控日期和时间的10个最有趣的模块,为您下一次转化时区和计算两个时间戳之间的秒数打下了基础,现

  • cpanm安装及Perl模块安装教程

    cpanm是安装Perl模块的最方便的方法.自动下载安装依赖包.使用CPAN shell或下载源码包安装模块,遇到大量依赖关系,非常头痛.下面就是一例: 安装MongoDB模块 复制代码 代码如下: # perl Makefile.PL Warning: prerequisite Class::Method::Modifiers 0 not found. Warning: prerequisite Data::Types 0 not found. Warning: prerequisite Da

  • cpan安装Net::SSH::Perl中遇到的一些问题

    使用cpan安装Net::SSH::Perl:cpan>install Net::SSH::Perl 期间遇到了一些问题,记录在此,以备后阅. 因为cpan对其它软件的依赖性,要求软件版本的不能过低,所以先升级一下这两个模块: 复制代码 代码如下: cpan>upgrade Module::Buildcpan>upgrade ExtUtils::Install Math::BigInt报错:Math::BigInt: couldn't load specified math lib(s)

  • Perl学习笔记之CPAN使用介绍

    CPAN(Comprehensive Perl Archive Network:全面的Perl存档网络)是查找任何Perl有关的东西的中心仓库.它包含从整个Perl社区收集来的智慧:成百上千的 Perl模块和脚本,相当于好几本书的文档,以及整个Perl发布.如果有东西是用Perl写的,而且这个东西很有用而且是自由的,那么它很有可能就在CPAN上.CPAN在全世界都有镜象,你可以在位于http://www.perl.com/CPAN 的CPAN 路牌上找到离你最近的镜象.那块路牌会记住你选择的是哪

  • C#学习笔记整理-迭代器模式介绍

    什么是迭代器模式? 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 何时使用迭代器模式? 当需要访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,需要考虑使用迭代器模式. 迭代器模式的组成 Iterator:迭代器抽象类,用于定义得到开始对象,对到下一个对象,判断是否到结尾,当前对象等抽象方法,统一接口. ConcreteAggregate:保存聚合对象. ConcreteIterator:继承于Iterator,实现具体如何对聚

  • Perl学习笔记之文件操作

    Perl对文件的操作,跟其它的语言类似,无非也就是打开,读与写的操作. 1. 打开文件 #! c:/perl/bin/perl -w use utf8; use strict; use warnings; my $filename = 'test.txt'; # 或者用绝对路径,如: c:/perl/Learn/test.txt if(open(MYFILE,$filename)) # MYFILE是一个标志 { printf "Can open this file:%s!", $fi

  • javascript学习笔记(十三) js闭包介绍(转)

    一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. 复制代码 代码如下: var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量. 复制代码 代码如下: function f1(){ var n=999; } alert(n); // error 这里

  • MongoDB学习笔记之GridFS使用介绍

    GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS, 列出所有文件: 复制代码 代码如下: mongofiles list 上传一个文件: 复制代码 代码如下: mongofiles put xxx.txt 下载一个文件: 复制代码 代码如下: mongofiles get xxx.txt 查找文件: 复制代码 代码如下: //会查找所有文件名中包含"xxx&qu

  • javascript学习笔记(七) js函数介绍

    1.函数内部属性 arguments arguments用来保存函数的参数,arguments.callee指向拥有arguments对象的函数 复制代码 代码如下: //阶乘 function factorial(num) { if (num <= 1) { return 1; } else { return num*arguments.callee(num-1); //用agreements.callee代替 } } var trueFactorial = factorial; factor

  • MySQL主从配置学习笔记

    ● 本打算买个云数据,为我的新项目做点安全保障.阿里云,腾讯云转了一圈,两个字太贵.不就数据有备份吗,既然这样那我不如自己来做备份. ● 家里有2个树莓派直接把mysql备份到他们上就好了,网上有教程,这就开整.在segmentfault mysql 这么一搜好几篇,按照他们一说的那么一做,当然是不成功的,要是成功了我就不写这篇文章了.ps:他们的教程都是对的. ● 下面就开始配置主从服务器,和网上教程一样,因为我就是看他们的. 1. 主设置(master) 修改mysql配置文件,一般在/et

  • js中switch语句的学习笔记

    switch 语句用于基于不同条件执行不同动作. 语法格式如下: switch(表达式) { case n: 代码块 break; case n: 代码块 break; default: 默认代码块 } 代码解释: 计算一次 switch 表达式: 把表达式的值与每个 case 的值进行对比: 如果存在匹配,则执行关联代码. 如下: switch (new Date().getDay()) { case 0: day = "星期天"; break; case 1: day = &quo

  • Python中关于logging模块的学习笔记

    python的logging模块 python提供了一个日志处理的模块,那就是logging. 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import logging logging.debug("This is debug message") logging.info("This is info message") logging.warning("This is war

  • JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记

    全文参考:https://github.com/iuap-design/blog/issues/38 .MDN clientHeight,只读 clientHeight可以用公式 CSS height + CSS padding - 水平滚动条的高度 (如果存在) 来计算. 如图,这样一个div,它的clientHeight为95,计算:50(height)+30(padding-top)+30(padding-bottom)-15(经测量滚动条高度就是15)=95 clientTop,只读 一

随机推荐