CPAN常见问题集
想要更详细的关于perl的文档,你应该到这里来看看(www.perl.com)。如果想看perl FAQ,可以到这里来(perlfaq.cpan.org)
? 1998-2001 Elaine Ashton <hfb@chaos.wustl.edu> 和 Jarkko Hietaniemi <jhi@iki.fi>,版权所有
I. -常见问题
II. -关于如何取得perl源程序,模块和脚本的问题
-
从哪里我可以找到当前PERL的源程序?
-
从哪里我可以找到老的PERL源程序和模块?
-
我因该如何理解perl的版本号呢?
-
我因该如何从源文件开始安装perl呢?
-
从哪儿我可以找到perl的模块呢?
-
我要如何卸掉已安装的perl模块?
-
我怎样才能知道我安装了那些模块?
-
What is a bundle and how do I make one for my own use or distribution on CPAN?
-
我怎样确定某个模块是否可以运行在我的系统上?
-
我要怎样手工安装一个模块在私人/非标准的目录下呢?
-
我要如何使用一个安装在私人/非标准的目录下的模块呢?
-
从哪儿我可以找到最近更新的perl模块?
-
从那儿我可以找到windows上的模块?
-
从哪儿我可以找到perl的binaries/package和perl模块的编译包?
-
perl以及CPAN模块是如何授权的?
-
标准的perl源程序发布版本中包括模块吗?
-
那些模块是平台相关的?
-
从哪儿我可以找到perl 脚本?
III.-RIF 〖Reading is Fun-duh-mental】
-
从哪儿我可以找到perl FAQs呢?
-
从哪儿我可以找到perl文档?
-
从哪儿我可以找到perl模块的文档?
-
从哪儿我可以找到perl DBI/DBD/database 文档?
-
我要怎样才能找到/加入/创建perl邮件列表?
-
从哪儿我可以找到perl journals/magazines?
-
从哪儿我可以找到perl课程/训练/在线教程?
-
从哪儿我可以找到在CD-ROM上的CPAN?
-
我要怎样才能找到/加入/组织一个perl用户小组?
-
从哪儿我可以找到perl的发展史?
IV.-错误总是会发生,我要如何解决
-
当我下载一个模块的时候出错了,我该如何去做?
-
我下载了一个损坏了的模块/脚本/文件,我该如何去做?
-
我要如何使用Foo::Bar模块,你可以帮忙吗?
-
当我下载一个模块时一个VRML阅读器打开了然后报错,我该如何去做?
-
从哪儿我可以找到GDBM_File/DB_File模块?
-
我使用search.cpan.org时出了点问题,我该联系谁?
V.-搜索CPAN,CSPAN其他的已有资源
VI. -发布模块,补丁以及如何报告BUG
-
我要怎样才能发布模块到CPAN上去呢?
-
CPAN上可以发布共享软件或模块以便可以得到一点报酬或其他什么的吗?
-
我要如何发布脚本到CPAN上去?
-
我要如何发布文档
-
我要如何去报告/修复一个在perl/或它的文档中的BUG?
-
我要如何报告一个在模块/脚本中的BUG?
-
当某个模块的作者不愿维护时,我要如何去维护该模块呢?
-
有专门用来处理模块错误报告的站点吗?
-
CPAN上可以下载到关于作者的统计表吗?
VII.-如何去镜像CPAN
什么是perl
perl文档中是这样定义的:
perl是一种高级语言,它是由Larry Wall和其他的几千个人创造出来的,他大量继承了C语言的特性,同时还从sed,awk和UNIX shell中继承了一些特性,还从其他的至少一打的工具和语言中继承了某些特性。perl对文件处理的能力使它非常适合于解决各种任务,建造原型,系统管理,数据库操作,图形编程,网络和WWW编程,这些特性使得他非常受到系统管理员的欢迎,但是其他的例如数学家,生物学家,新闻人员甚至于管理人员都使用perl。可能你也会使用它
参考:http://www.sysadminmag.com/tpj/whatisperl.htm
寻找perl资料的两个好的站点是 http://www.perl.com和http://www.perl.org
什么是perl6?
在第二次O'Reilly开放源代码会议上,Larry Wall宣布了对perl6的开发。perl6仍然会继承perl5的特性,当然它会用C++改写,它的另一个名字是Topaz。
如果你对开发感兴趣,可以到这里来http://www.perl.org/perl6/
"We're really serious about reinventing everything that needs reinventing." --Larry Wall
什么是CPAN?
CPAN是“perl档案智能网络”的意思,其中包括了大量的perl模块,软件和文档。你可以从以下几个地方找到CPAN:http://www.cpan.org或http://www.perl.com/CPAN/或其他的列在http://www.cpan.org/SITES.html和http://mirror.cpan.org中的镜像站点
同时请注意,CPAN还是一个PERL的模块名,CPAN.pm是一个用来自动下载和安装perl模块的工具,本文档只有少量的关于CPAN.pm的介绍,如果你想要更多的资料请到这里来http://theoryx5.uwinnipeg.ca/CPAN/perl/CPAN.html。
CPAN的logo从何而来,以及我可以在我的文档中使用它吗?
CPAN的logo是由J.C.Thorpe应我们的要求而制作的,字母“A”是由三本书组成的。
我们允许你在以下情况下使用CPAN logo:制作一个链接到CPAN或者你写的讨论CPAN的文章。在其他情况下使用的话,请与我们联系!
PAUSE是什么?
PAUSE是“Perl Authors Upload SErver”的意思,它允许注册帐户上传他们的perl文档,模块,脚本到CPAN上去。CPAN和PAUSE经常交叉的使用,但是他们之间是不同的,在CPAN.pm中有关于他们的简单讨论;
在这里的讨论中他们看起来好像是一样的--但实际上他们不一样。PAUSE是authors/,modules和scripts。而CPAN是PAUSE加上clpa/,doc/,misc/,ports/和src。
如果你想要发布模块的话,请参考以下文档'How do I contribute modules?'。
CPAN是如何工作的?
CPAN是由数百位开发者协同工作,超过175个镜像站点共同提供服务,空间和计算能力而组成的,志愿者帮助保持所有的东西可以使用并且负责更新维护。下面是镜像站点分布图
当一个发布者通过PAUSE发布了一个模块以后,该模块在一小时内将被镜像到全球的其它镜像站点。CPAN上运行着不同的脚本不停的检查镜像站点是否有用。还有一些人帮助发布者选择模块名字以及命名空间,另外也有一些人专门负责回答问题和收集各种信息发布到cpan@perl.org上去,以供进一步的讨论。
CPAN中的智能选择是如何工作的?
CPAN Multiplexer是由Tom Christiansen编写的,他运行在http://www.perl.com/CPAN上,提供可用的镜像服务器的列表并可以自动将你带到距离你最近的站点上去,当然你也可以自己选择站点。他根据域名的尾部来判断和分类站点,例如一个“*.ac.uk”的地址将被归类到.uk下面去,而一个*.com将被直接归类到perl.com下面。
从哪里我可以找到当前PERL的源程序?
Perl Mongers有一个"Download Perl"的按钮,如果你感兴趣的话,你可以到这儿来 http://www.pm.org/web_site_frosting.shtml。
从哪里我可以找到老的PERL源程序和模块?
如果你没有一个十足的理由的话就不要安装老的版本,因为他们或多或少的包含一些bug甚至是安全方面的bug。
需要安装老版本的理由有:想要支持perl 4程序,再现一个只有在老版本中才有的bug,或者是喜欢研究perl的历史。
CPAN中没有老的版本,不过你可以从以下站点中找到你想要的东西:
我该如何理解perl的版本号呢?
目前perl从v.5.6.0开始它的版本号:
perl v5.6.0是继上一个5.005版本的最近的一个版本。你可能已经注意到了,现在的版本号已经变了,它的版本号是分为偶数与基数的,偶数版本是稳定版,反之则是开发版,这同linux内核版本号是一样的。例如5.6.*是稳定版,而5.7.*这是开发版本号。
你可以从perl文档中知道更详细的内容。
我该如何从源文件开始安装perl呢?
首先你需要一个C编译器。在下载并解压之后,你要先读一读INSTALL文档(这里有如何安装的详细说明)。当然了,还有一些平台依赖性的文件需要你去看看,如果你的安装平台比较特殊的话!!
perl可以使用从源文件安装的方法安装到所有支持的平台上去。其中包括所有的UNIX系列以及兼容的(如OS/2,PLAN 9,QNX,Amiga,MPE/iX,OS390,Stratus VOS等等),WINDOWS系统。其中以下几个平台比较特殊
-
MacOS (1)
-
AS/400 (2)
-
Novell Netware (2)
1。用于运行在MAC上的源文件可以从这儿得到 http://www.cpan.org/ports/mac/。
2。用于AS/400和Novell netware的还没有包括到标准PERL发布版本里面,如果你想要安装的话,请到这几个地方看看:http://www.cpan.org/ports/As400/ 和 http://www.cpan.org/ports/netware/以及http://www.cpan.org/src/README
从哪儿我可以找到perl的模块呢?
基于模块在不停的增加,我们推荐你使用CPAN的搜索引擎,尤其是当你知道你想要什么的时候!!
我要如何安装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>