查看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 ...
随机推荐
- ch2-1:创建模块,并调用模块中的函数
模块就是一个包含python代码的文本文件,文件名以.py结尾,这是python扩展名: 1.创建一个模块nester.py,文件内容为: '''这是一个模块,可以打印列表,其中可能包含嵌套列表''' ...
- Linux设备驱动之semaphore机制【转】
转自:http://blog.csdn.net/xiao229404041/article/details/7031776 Linux设备驱动之semaphore机制在Linux系统中,信号号是一种重 ...
- Wall Street English
1月23号,报名Wall Street English!
- VC中常用的宏
我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译.工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结.有些宏是C/C++定义的,有些宏是VC环境预 ...
- CGRectGet系列
CGRectGetHeight返回label本身的高度 CGRectGetMinY返回label顶部的坐标 CGRectGetMaxY 返回label底部的坐标 CGRectGetMinX 返回lab ...
- mysql同步
已安装好mysql,并且已把配置文件复制在/etc/my.cnf 主服务器的配置: 1,查看二进制日志的状态,开启二进制日志 进入mysql安装目录 #cd /usr/local/mysql 进入my ...
- 获取手机IMEI 号和 IP
没什么可说的,直接上代码: public class PhoneStateCodeUtils { /** * 获取手机imei串号 */ public static String getImei(Co ...
- ie6下兼容问题
最小高度问题:overflow:hidden 在ie6.7下 li本身不浮动 内容浮动 li产生3像素间隙 解决:vertical-align:top; 二.当ie6下最小高度问题和li间隙问题共存时 ...
- 20150625_Andriod_01_ListView1_条目选中
android listview 参考地址: http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html http://xy ...
- 多校3- RGCDQ 分类: 比赛 HDU 2015-07-31 10:50 2人阅读 评论(0) 收藏
RGCDQ Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Practic ...