`
fantaxy025025
  • 浏览: 1309300 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Perl模块简析

    博客分类:
  • Perl
阅读更多

 

From:--perl 模块

 

什么是CPAN?
CPAN是“perl档案智能网络”的意思,其中包括了大量的perl模块,软件和文档。
你可以从以下几个地方找到CPAN:http://www.cpan.orghttp://www.perl.com/CPAN/
http://www.cpan.org/SITES.htmlhttp://mirror.cpan.org 中的镜像站点
同时请注意,CPAN还是一个PERL的模块名,CPAN.pm是一个用来自动下载和安装perl模块的工具 ,本文档只有少量的关于CPAN.pm的介绍,如果你想要更多的资料请到这里来http://theoryx5.uwinnipeg.ca/CPAN/perl/CPAN.html
我要如何安装PERL模块?
最简单的方法是perl -MCPAN -e ’install Chocolate::Belgian’,CPAN.pm文档有详细的如何使用该方法的介绍。
如果你不想要让系统过多的控制你的安装或者它根本就不能使用的话,那么你就要看看这篇文章了perlmodinstall,
他涵盖了UNIX,WINDOWS和Macintosh这几种主流系统。
如果你是使用的ActivePerl(WINDOWS平台),那么PPM(Perl Package Manager) 也可以起到相当于CPAN.pm模块的作用。
============================================
手工安装一般是
进入模块目录
make Makefile.PL
make;make test
make install(这一步需要管理员权限,或者你将模块安装到你的个人目录下面)

我要如何移除已经安装了的模块
使用ExtUtils::Installed和ExtUtils::Packlist这两个模块来实现。下面是一个例子,在ExtUtils::Packlist中有更详细的例子,可以参考一下。
#!/usr/local/bin/perl -w
use ExtUtils::Packlist;
use ExtUtils::Installed;
$ARGV[0] or die "Usage: $0 Module::Name\n";
my $mod = $ARGV[0]; 
my $inst = ExtUtils::Installed->new();
foreach my $item (sort($inst->files($mod))) {
print "removing $item\n";
unlink $item;
}
my $packfile = $inst->packlist($mod)->packlist_file();
print "removing $packfile\n";
unlink $packfile;
我怎样才能知道安装了哪些模块在我的机子上呢
perldoc perllocal 
每当你安装了一个模块,它就会在一个叫perllocal.pod的文件中添加如下所示的信息
而该文件所在地依赖于你所定义的PATH路径,PATH路径可以使用perl -V显示出来
下面是添加在perllocal.pod中的文件
=head2 Wed May 12 13:42:53 1999: C<Module> L<Data::Dumper>
=over 4
=item *
C<installed into: /usr/local/lib/perl5/5.00503>
=item *
C<LINKTYPE: dynamic>
=item *
C<VERSION: 2.101>
=item *
C<EXE_FILES: >
=back
每个条目包括模块名字,安装日期和时间,安装到哪儿,链接形式(动态还是静态),版本号以及是否可执行,以及其他相关的一些信息!
使用ExtUtils::Installed模块
ExtUtils::Installed提供了一个用来寻找已安装模块的标准方法。他从.packlist,一个安装模块时创建的文件中得到所需的信息,另外它还提供将安装文件分类的能力和从".packlist"文件中读取目录信息的能力。 
例子如下:
#!/usr/local/bin/perl
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "version unknow!";
print "$module -- $version\n";
}
运行后输出内容如下: 
Apache::DBI -- 0.87
Apache::DBILogConfig -- 0.01
Apache::DBILogger -- 0.93
AppConfig -- 1.52
Archive::Tar -- 0.22
BerkeleyDB -- 0.06
CGI -- 2.74
CPAN -- 1.59
CPAN::WAIT -- 0.27
Catalog -- 1.00
Compress::Zlib -- 1.11
Config::IniFiles -- 2.14
Convert::BER -- 1.26
Coy -- ???
Crypt::Rot13 -- 0.04
Crypt::SSLeay -- 0.16
DBI -- 1.14
[.....]
ActivePerl使用PPM工具包,方法如下; 
C:\>ppm query
Archive-Tar [0.072 ] module for manipulation of tar archives.
Compress-Zlib [1.03 ] Interface to zlib compression library
DBI [1.13 ] Database independent interface for Perl
GD [1.25 ] Interface to Gd Graphics Library
HTML-Parser [2.23 ] SGML parser class
MIME-Base64 [2.11 ] Encoding and decoding of base64 strings
PPM [1.1.4 ] Perl Package Manager: locate, install, upgrade software
pmtools工具包是由Tom Christiansen写了用来浏览和管理模块的工具,可以从这儿的到它http://language.perl.com/misc/pmtools-1.00.tar.gz ,它的一部分帮助文档: 
pmtools --一套用来帮助管理模块的小程序。里面的每一个程序都只做一件事情,其中包括一下小程序
pmpath - 显示模块的绝对路径
pmvers - 显示模块版本号
pmdesc - 得到关于模块的概述
pmall  - 显示所有已安装模块的pmdesc描述
pmdirs - 分行显示perl模块的路径
plxload - 显示程序运行时加载了什么文件
pmload - 显示模个模块编译时加载了什么文件 
pmexp - 显示模块的接口
pminst - 查找安装了哪些模块
pmeth - 列出一个类的所有方法
pmls - 详细列出模块路径
pmcat - 显示模块源码
pman - 显示模块的pod文档
pmfunc - 显示一个模块中函数的源码
podgrep - 在pod文档中查找 
pfcat - show pods from perlfunc 
podtoc - list table of contents of a podpage 
podpath - 显示pod文件的绝对路径
pods - 列出所有标准pod以及模块pod
sitepods - list only pods in site_perl directories 
basepods - list only normal "man-page" style pods 
faqpods - list only faq pods 
modpods - all module pods, including site_perl ones 
stdpods - list standard pods, not site_perl ones 
CPAN下的帮助
cpan> ?
Display Information(查看信息)
 command  argument          description
 a,b,d,m  WORD or /REGEXP/  about authors, bundles, distributions, modules(用与查看作者,bundles,分布,模块)
 i        WORD or /REGEXP/  about anything of above(查看相关信息)
 r        NONE              reinstall recommendations(建议需要重新安装的模块)
 ls       AUTHOR            about files in the author's directory(列出在此作者目录下的文件)
Download, Test, Make, Install...
 get                        download
 make                       make (implies get)
 test      MODULES,         make test (implies make)
 install   DISTS, BUNDLES   make install (implies test)
 clean                      make clean  (以上是动作,对模块的下载编译安装清除)
 look                       open subshell in these dists' directories 
 readme                     display these dists' README files  
#############################################################################################
get downloads a distribution file without further action. readme displays the README file of the associated distribution. Look gets and untars (if not yet done) the distribution file, changes to the appropriate directory and opens a subshell process in that directory.
##############################################################################################
Other
 h,?           display this menu       ! perl-code   eval a perl command
 o conf [opt]  set and query options   q             quit the cpan shell
 reload cpan   load CPAN.pm again      reload index  load newer indices
 autobundle    Snapshot                force cmd     unconditionally do cmd
一些辅助命令,如帮助,重新加载,退出,执行脚本,重新加载索引,强行执行......



分享到:
评论

相关推荐

    删除卸载单个perl模块脚本

    本文将深入探讨如何干净地删除或卸载单个Perl模块。 首先,我们需要了解Perl模块的安装机制。在Unix/Linux系统中,Perl模块通常通过CPAN(Comprehensive Perl Archive Network)来安装。`cpan`或`cpanm`命令行工具...

    bugzilla的perl模块

    在Bugzilla 3.2.2版本中,为了正常运行,它依赖于一系列Perl模块。Perl是一种广泛用于系统管理和网络编程的脚本语言,它的模块生态丰富,为Bugzilla提供了强大的功能支持。 首先,我们需要了解Perl模块的概念。Perl...

    perl模块介绍,主要讲述perl的各个模块的使用

    "perl 模块介绍" Perl 模块是 Perl 编程语言中最基本的组成部分,每个模块都是一个独立的单元,定义在一个同名文件(以.pm 结尾)里面的包。在 Perl 中,模块是重复使用的基本单元。 Perl 安装时附带了许多模块,...

    Linux上安装Perl模块方法介绍

    ### Linux上安装Perl模块方法详解 #### 一、引言 在Linux环境下处理大量数据时,Perl语言因其强大的文本处理能力和脚本编写能力而被广泛采用。然而,要充分利用Perl的强大功能,安装必要的Perl模块至关重要。本文...

    bugzilla-3.0.2安装所需要的Perl模块离线安装包

    在安装Bugzilla-3.0.2版本时,可能会遇到需要依赖某些Perl模块的情况。由于某些环境可能无法直接联网进行在线安装,因此提供了离线安装包"ppm_modules"来解决这个问题。 Perl模块是Perl编程语言中的一组函数或类,...

    Windows 下安装Perl模块的方法讨论

    ### Windows 下安装 Perl 模块的方法讨论 #### 手动编译方式 手动编译是安装 Perl 模块的一种常用方法,在 Windows 平台上尤其适用。这种方法的优点在于它能够适用于几乎所有的 Perl 模块,因此被称为“通吃所有...

    安装Bugzilla所需Perl模块

    在安装Bugzilla时,需要确保你的环境已经配置了正确的Perl模块,因为这些模块是Bugzilla运行所必需的。Perl模块是Perl编程语言中的库,它们提供了特定的功能,使开发者能够更容易地构建应用程序。 在“安装Bugzilla...

    GCC、PERL模块编译器

    标题中的“GCC、PERL模块编译器”指的是在Perl编程环境中使用GCC(GNU Compiler Collection)来编译和构建Perl模块。GCC是一个开源的编译器套件,它支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和Go等...

    集群中perl模块的自动安装

    "集群中perl模块的自动安装" 在集群中自动安装perl模块是一个非常重要的任务,特别是在没有网没有root权限的艰苦环境下。本文将详细介绍如何使用local::lib模块来实现perl模块的自动安装。 首先,需要下载local::...

    mod_perl Perl模块

    标题"mod_perl Perl模块"指的是Apache服务器中的一个核心扩展,它允许Perl语言深度集成到Web服务器中,提高了处理Perl脚本的效率和性能。mod_perl使得Apache能够运行在Perl解释器环境下,而不是传统的CGI(Common ...

    安装bugzilla4.2.2需要的perl模块

    在部署Bugzilla 4.2.2版本时,你需要确保你的环境已经安装了所有必要的Perl模块。Perl是一种强大的脚本语言,它在Bugzilla中扮演着核心角色,处理各种任务,如数据库交互、网页生成等。 在安装Bugzilla 4.2.2之前,...

    perl eclipse 插件 与 模块

    接下来是`PadWalker-1.5`,这是一个Perl模块,用于查看Perl函数内部的局部变量。在Perl中,局部变量的信息通常是不可见的,但PadWalker模块提供了这种能力,允许开发者跟踪和分析函数调用时的变量状态。这对于调试和...

    Bugzilla所需Perl模块

    This zip contains perl modules that bugzilla required. Extract the zip and use 'install_ppms.pl' to install all modules automatically if you have install Perl already. Modules list: 1: 1_CGI.pm 2: 2...

    perl 模块(spreadsheet、XML::Simple、DBB::mysql等模块)

    在实际应用中,Perl模块通常通过CPAN(Comprehensive Perl Archive Network)获取,这是一个庞大的Perl模块仓库,包含了数千个不同功能的模块,覆盖了各种各样的编程需求。 使用这些模块,Perl程序员可以构建功能...

    在linux下安装perl模块.docx

    为了扩展Perl的功能,我们可以安装各种Perl模块。本文将详细介绍如何在Linux环境下安装Perl模块。 首先,确保你的系统已经安装了Perl。如果没有,你需要先下载最新版本的Perl源代码。通常,你可以从Perl官方网站...

    perl module 下载列表

    Perl模块是Perl编程语言中的一个重要组成部分,它们是预编译的代码库,为开发者提供了丰富的功能,以便在Perl脚本中实现特定任务。这个“perl module 下载列表”可能是一个资源集合,列出了可供下载的Perl模块,这些...

    bugzilla 安装perl模块的所有需要的包

    在安装Bugzilla时,为了使其正常运行,需要安装一系列Perl模块。这些模块提供了Bugzilla所需的功能,如数据库连接、HTTP请求处理等。下面我们将详细讨论安装Bugzilla时需要的Perl模块以及它们的作用。 1. DBI ...

    perl模块安装工具:cpanm

    cpanm是一种比cpan更简洁的perl模块安装工具。 cpanm本身其实只是一个可执行文件而已。将它下载到 bin 目录,然后添加执行权限就可以用了。 使用时,参数名直接为模块名称即可。如: $ sudo cpanm CGI::Session 可以...

    helpers, 用于Perl模块的Travis CI测试 helper ( 非正式).zip

    helpers, 用于Perl模块的Travis CI测试 helper ( 非正式) Perl MODULE travis-ci-helper这是一套实用工具,旨在帮助测试 travis-ci上的模块。 如果请求的版本不存在,它将自动生成 perl 。虽然 travis ci提供了perl...

    perl下的Pdk模块编译perl程序的方法

    ### Perl 下 Pdk 模块编译 Perl 程序的方法 #### 一、概述 在 Perl 开发中,为了方便部署与分发程序,有时我们需要将 Perl 脚本编译成可执行文件(如 EXE 文件),而不是简单的文本格式源代码文件。Pdk 模块就是...

Global site tag (gtag.js) - Google Analytics