查看perl及其模块
Perl本身自带了很丰富的文档,如果把它们都打印出来,恐怕要耗费大量纸墨。我们试图清点过,但数到2000页左右的时候就数不清了(不用担心,我们用虚拟打印机计算页面数量,这样不会对树木造成威胁,挺环保的)。
Perl文档中包含大量有价值的信息,这些文档绝对值得仔细品读,哪怕只花一点功夫,学会如何从这些文档中查找所需的资料也是值得的。要从这些文档中迅速找到需要的内容,除了要具备相关的知识外,得力的工具也必不可少。
1. perldoc文档阅读器
perldoc这个命令能搜索Perl安装目录树中内嵌文档的Perl模块文件(扩展名为.pm)、.pod结尾的POD文档(见条款82),以及已安装的各种Perl工具的文档。该命令会将它找到的文档格式化后显示出来。让我们先从阅读perldoc自身的文档开始吧:
- % perldoc perldoc
- PERLDOC(1) User Contributed Perl Documentation
- NAME
- C<perldoc> - Look up Perl documentation in pod format.
- SYNOPSIS
- C<perldoc> [-h] [-v] [-t] [-u] [-m] [-l]
- ……省略了剩余内容……
一般来说,将文档的名称作为参数传递给perldoc命令,即可查阅该文档。比如下面,给定文档名称perltoc,就会显示所有内置文档的目录:
- % perldoc perltoc
你也许会对perlsyn文档的内容感兴趣,该文档主要描述Perl的基本语法:
- % perldoc perlsyn
如果想阅读关于Perl内置函数的用法,可以查看perlfunc文档:
- % perldoc perlfunc
至少得把perlfunc文档通读一遍,才能大致了解Perl都能提供些什么功能。当然,不需要把它们都记下来,只要在大脑中有个印象就够了。比如说,只要知道Perl有个内置函数可以处理/etc/passwd文件,但具体是哪个,可以到perlfunc文档里找。要是觉得滚动这么长的页面太过麻烦,只要记得内置函数的名字,就可以用-f开关指定,直接阅读该函数相关的内容:
- % perldoc -f split
也可以用perldoc来阅读模块内嵌的文档,只需提供模块名作为参数即可:
- % perldoc Pod::Simple
如果想了解这个模块安装在什么地方,可以用-l(小写的L)开关打印该模块的路径:
- % perldoc -l Pod::Simple
如果要查看模块源代码,可以用-m开关:
- % perldoc -m Pod::Simple
Perl文档还包括了FAQ,可以在其中找到许多常见问题的解答。虽然有个在线版本可以阅读,但命令行的perldoc有个好处,就是可以用-q开关搜索相关主题,非常方便。比如有关随机数的处理,可以试试这个:
- % perldoc -q random
2. 在线文档
在写本书时,http://perldoc.perl.org/是最好的Perl在线文档站点。它包含了Perl最近几个版本的核心文档(包括HTML和PDF格式),不只如此,它还会记录你曾经看过哪些文档。
但该站点并不提供所有模块的文档。想要看到所有模块的文档,可以到CPAN Search(http://search.cpan.org/)和Kobes's Search(http://kobesearch.cpan.org/)这两个站点去看看。这两个站点都提供CPAN的网页查询界面。许多人甚至觉得直接访问以上站点,比阅读本机附带的文档还要方便。
CPAN Search很有用,尤其是它在每个模块页面中都提供了其他工具链接。其中一个工具有类似grep的功能,用它可以方便地在某个模块不同的发行版本中搜索特定内容。比如想要跟踪某个出错信息来自哪个模块中的哪个文件,就可以用它来试一试。
AnnoCPAN(http://annocpan.org/)是另一个提供模块文档的站点。但它的出发点是让任何人都有机会对模块文档本身添加评注,或是给作者或其他用户留言。这个功能在文档信息不全或者不正确、不完整的情况下显得特别有用。
3. 本地文档
在本地也能够实现部分和CPAN Search站点类似的功能。借助CPAN::Mini::Webserver模块,我们可以在本地搭建一台Web服务器,然后通过浏览器查阅自己的MiniCPAN库(见条款66)。如果运行的是Apache Web服务器,你还可以用Apache::Perldoc模块,在Web界面中调用本地的perldoc命令。
此外,Pod::POM::Web模块也能让你以Web方式查看本地文档。以mod_perl或者CGI脚本的形式在Apache上运行都没问题,或者干脆直接使用其内置的Web服务器:
- % perl -MPod::POM::Web -e "Pod::POM::Web->server
查看perl及其模块的更多相关文章
- Perl 多线程模块 Parallel::ForkManager
Perl 多线程模块 Parallel::ForkManager 一个简单的并行处理模块.这个是用来对付循环的多线程处理. 放在循环前面. Table of Contents 1 Synops内容简介 ...
- perl json模块
JSON - JSON (JavaScript Object Notation) encoder/decoder 简介: use JSON; # imports encode_json, decode ...
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- pip 查看已安装模块、卸载指定模块、安装指定版本模块
操作背景 最近使用 pandas+numpy+plotly 画heatmap(热力图),来处理股票数据,语法.步骤都没问题,但到画图那一步老是报错,且 plotly 版本为3.1.0: 最后找到原因, ...
- npm 查看全局安装模块
方法一: npm list -g --depth 0 方法二: 输入npm root -g 得到全局node_modules的地址 在任意文件夹输入此地址,便可查看所安模块 https://blog ...
- Perl使用模块和@INC
use加载模块 安装模块后,都会有对应的文档,可以通过perldoc MODULE_NAME来获取模块的使用帮助. 例如:获取File::Utils的使用帮助. perldoc File::Utils ...
- python如何查看有哪些模块
Question: 如何查看正则表达式模块re及其相关函数的意义 1.终端命令行下 python >> import sys >> sys.modules ########## ...
- 6、perl创建模块(Exporter)及路径 引用 嵌套 查询模块
参考博客:http://www.cnblogs.com/xudongliang/tag/perl/ 1.perl 模块的创建以及制定perl 模块的路径 (1)创建一个Myfun.pm模块. #/us ...
随机推荐
- exe文件打开方式(恢复EXE文件关联)
文件关联损坏常常是计算机病毒造成的,目前网络上有很多相关修复工具,相对来说,System Repair Engineer 支持的修复格式是比较齐全的,这个工具可以在http://www.kztechs ...
- SQL Server 数据库中关于死锁的分析
SQL Server数据库发生死锁时不会像Oracle那样自动生成一个跟踪文件.有时可以在[管理]->[当前活动] 里看到阻塞信息(有时SQL Server企业管理器会因为锁太多而没有响应). ...
- 30、springmvc
第一章回顾JavaWeb中的MVC设计模式 1)MVC这种设计模式,不光运用于Web领域,而且也能用于非Web领域 2)今天说的MVC特指一种表现层设计模式,不限于Java语言 第二章回顾struts ...
- Codefroces Gym 100781A(树上最长路径)
http://codeforces.com/gym/100781/attachments 题意:有N个点,M条边,问对两两之间的树添加一条边之后,让整棵大树最远的点对之间的距离最近,问这个最近距离是多 ...
- C#:将子Form加入父Form中
实现的功能:已建立了多个子Form界面,在父Form界面左面,点击不同标题的链接文本,父Form界面右面显示不同的子界面内容. 具体如下: 1.加入split拆分器控件 2.在splitControl ...
- WMsg参数常量值
//WMsg参数常量值: //创建一个窗口 const int WM_CREATE = 0x01; //当一个窗口被破坏时发送 const int WM_DESTROY = 0x02; //移动一个窗 ...
- Python 字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = ...
- easyrtc-server在ubuntu14.04上的安装方法
easyrtc 官网 http://easyrtc.com/ 1.安装nodejs,安装npm (不知道如何安装请google一下) 2. 查看运行easyrtc 所需要的js 包,在easyrtc ...
- [团队项目]后续安排 Github
6.后续安排 第16周 周二晚7点之前将本代码上传到GITHUB. 周三上课时运行你们的系统给我观赏一下. 根据博客,运行演示,github代码情况评定第二个冲刺的分数. 至此,软件工程学期平时分截止 ...
- 山东理工大学第七届ACM校赛-LCM的个数 分类: 比赛 2015-06-26 10:37 18人阅读 评论(0) 收藏
LCM的个数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了 ...