Perl模块
纯属个人学习助记笔记,难免有疏漏之处,建议阅读原著《PERL实例精解》
===================================================================================
[模块]
[描述]
===================================================================================
编程通用模块
benchmark
检查并比较运行代码的 CPU 时间速度
Config
访问 %Config 散列的 Perl 配置选项
Evn
将 %ENV 散列转换为含有环境变量的标量, 譬如把 $ENV{HOME} 转换为标量 $HOME
English
提供特殊变量的 English 或 awk 名称。 例如, $0 可用 $PROGRAM_NAME 来命名
Getopt
使用参数处理命令行选项和开关
Shell
在 Perl 脚本中负责以子例程的形式执行 shell 命令。 例如, $today=date()
Symbol
使用 gensysm() 产生匿名 glob , 并使用 qualify() 来限定变量名
CGI
CGI (通用网关接口) 类
CGI::Apache
用于 CGI.pm 和 Perl-Apache API
CGI::Carp
用于处理 HTTP 出错消息, 并负责产生错误日志文件
CGI::Cookie
与 Netscape cookies 进行交互
CGI::Fast
与 Fast Perl 接口进行交互
CGI::Pretty
产生 Pretty 格式的 HTML 代码
CGI::Push
到服务器 Push 的简单接口
错误处理模块
Carp
产生类似于 die 的错误消息, 报告发生错误的调用例程的行号。 可从该模块中调用的子例程包括 carp()、croak() 和 confess()
Errno
加载 libc 的 errno.h 定义
Sys::Syslog
提供 UNIX syslog(3) 交互的 Perl 接口
文件处理
Cwd
获得当前工作目录的路径名。 如用于 -w 开关, 则会产生错误消息
DirHandle
为目录句柄提供面向对象的接口
Fcntl
加载 libc 的 fcntl.h (文件控制) 定义
File::Basename
将文件名拆分为多个组成部分, 或者从全目录路径中提取文件名或目录名
File::CheckTree
对目录树中的某个文件集合执行文件测试操作
File::Copy
用于拷贝文件或文件句柄
File::DosGlob
进行类似于 DOS 的 glob 操作
File::Find
用于在 UNIX 文件树种查找
File::Finddepth
深度优先搜索文件系统
File::Glob
对 UNIX 文件名进行 glob 操作
File::Path
创建或删除一系列目录
File::Spec
对文件名进行移植操作
FileCache
允许打开比系统允许的数量更多的稳健
FileHandle
为文件句柄访问方法提供面向对象的接口
SelectServer
保存和恢复选择的文件句柄
flush.pl
写入文件句柄缓冲区中剩余的所有数据, 或者在打印表达式后清除缓冲区
pwd.pl
使用 chdir 后将 PWD 环境变量设置为当前的工作目录
stat.pl
将 stat 函数返回的值赋给标量: $st_dev、$st_ino、$st_mode、$st_nlink、$st_uid、$st_rdev、$st_atime、$st_mtime、$st_ctime、$st_blksize、$st_blocks
Pod::Text
将 Pod 文档转换为 ASCII 格式的文档
Search::Dict
在目录文件中搜索字符串 (按照字母表顺序), 并将文件指针设置到下一行
Term::Complete
为了提示用户, 可通过按下 Tab 键完成其余部分的输入, 或通过按下 <Ctrl>-d 完成列表的选择, 一边提供类似于文件名补齐功能的接口
Text::Abbrev
创建缩略表, 它是由列表中的键/值对构成的散列。 其中的键是缩写内容, 值是原字符串; 譬如 ma/mail、mo/more
Text::ParseWords
像 shell 一样把一行文本解析为一系列词语, 同时忽略开头的空白
Text::Soundex
将一个字映射为长度为四个字符的与该字发音完全对应的代码
Text::Tabs
将制表符扩展为空格, 或者不把制表符扩展为空格
Text::Warp
将文本换行为独立的段落
数据库接口
AnyDBM_File
一个基于 UNIX 系统的模块, 提供了多种 DBM 架构
DB_File
提供对 Berkeley DB 管理系统的访问手段。 参见 ftp://ftp.cs.berkeley.edu/ucb/4bsd
DBI
返回系统上的数据库列表及其驱动程序, 用于与数据库交互
GDBM_File
提供对 GUN 数据库管理系统的访问手段。 参见 ftp://prep.ai.mit.edu/pub/gnu
NDBM_File
一个基于 UNIX 系统的模块, 提供了与 NDBM 文件交互的手段
ODBM_File
一个基于 UNIX 系统的模块, 提供了与 ODBM 文件交互的手段
SDBM_File
一个基于 UNIX 系统的模块, 提供了与 SDBM 文件交互的手段
数学
bigrat.pl
对分数启用无限精度运算
Math::BigFloat
支持任意大小的浮点运算
Math::BigInt
支持任意大小的整数运算
Math::Complex
支持复杂的数字, 并展示运算符重载
Math::Trig
支持三角函数
网络
chat2.pl
允许 Perl 操纵交互式的网络服务, 如 FTP
comm.pl
比 chat2.pl 版本更新。 允许 Perl 操纵交互式的网络服务
IPC::Open2
打开程序进行读写, 使得能够与外部程序相互传输数据
IPC::Open3
打开进程进行读写或处理错误信息, 使得能够与外部程序相互传输数据
Net::Ping
检查远程主机是否开启
Socket
创建套接字, 为进程间通信导入套接字方法, 并加载 socket.h 头文件
Sys::Hostname
获取系统的主机名
时间和位置
I18N::Collate
根据当前时区比较 8 比特的标量数据
Time::gmtime
使用 Perl 内建函数 gmtime() 的接口
Time::Local
根据本地 GMT(UTC) 时间计算 UNIX 时间 (从 1970 年 1 月 1 日开始非闰秒数)
Time::localtime
使用 Perl 内建函数 localtime 的接口
终端
Term::Cap
提供操作终端配置的底层功能, 指向 termcap 数据库的终端接口
面向对象的模块函数
Autoloader
对于大模块, 将只加载需要的部分
AutoSplit
为了支持自动加载, 将模块拆分为指定字节大小的程序块
Devel::SelfStubber
为自加载模块生成代码存根, 以便再调用方法时能顺利加载
DynaLoader
用于自动和动态加载模块
Exporter
供其他模块使用, 负责导入方法和变量, 以便使之可用
overload
重载算数操作
Tie::Hash
提供将散列与包相连接的方法
Tie::Scalar
提供将标量与包相连接的方法
Tie::SubstrHash
为含有常量键和记录大小的数组提供类似于散列的接口
语言扩展
ExtUtils::Install
用于安装和卸载与平台相关的 Perl 扩展
ExtUtils::Liblist
决定使用的库, 以及如何使用它们
ExtUtils::MakeMaker
在扩展库中为 Perl 扩展创建 Makefile
ExtUtils::Manifest
自动维护由文件名列表构成的 MANIFEST 文件
ExtUtils::Miniperl
编写含有引导程序文件的 C 代码 perlmain.c , 用于创建供 Perl 模块使用的存档库
ExtUtils::Mkbootstrap
从扩展的 Makefile 中调用, 负责创建引导程序文件, 以便动态加载某些系统
ExUtils::Mksysmlists
编写在创建动态扩展的共享库时所要用到的一些链接的 linker 选项文件
ExtUtils::MM_OS2
覆盖方法的实现, 并影响 UNIX 行为
ExtUtils::MM_UNIX
用于 MakeMaker, 负责为 UNIX 与非 UNIX 系统提供方法
ExtUtils::_VMS
覆盖方法的实现, 并影响 UNIX 行为
Fcntl
翻译 C 的 fcntl 头文件
POSIX
为 IEEE std 1003.1 标识符提供 Perl 处理接口
Safe
提供私有分割区域, 用于评估不安全的 Perl 代码
Test::Harness
用于 MakeMaker , 负责测试运行 Perl 扩展,并生成诊断信息
===================================================================================
[模块]
[描述]
===================================================================================
编程通用模块
benchmark
检查并比较运行代码的 CPU 时间速度
Config
访问 %Config 散列的 Perl 配置选项
Evn
将 %ENV 散列转换为含有环境变量的标量, 譬如把 $ENV{HOME} 转换为标量 $HOME
English
提供特殊变量的 English 或 awk 名称。 例如, $0 可用 $PROGRAM_NAME 来命名
Getopt
使用参数处理命令行选项和开关
Shell
在 Perl 脚本中负责以子例程的形式执行 shell 命令。 例如, $today=date()
Symbol
使用 gensysm() 产生匿名 glob , 并使用 qualify() 来限定变量名
CGI
CGI (通用网关接口) 类
CGI::Apache
用于 CGI.pm 和 Perl-Apache API
CGI::Carp
用于处理 HTTP 出错消息, 并负责产生错误日志文件
CGI::Cookie
与 Netscape cookies 进行交互
CGI::Fast
与 Fast Perl 接口进行交互
CGI::Pretty
产生 Pretty 格式的 HTML 代码
CGI::Push
到服务器 Push 的简单接口
错误处理模块
Carp
产生类似于 die 的错误消息, 报告发生错误的调用例程的行号。 可从该模块中调用的子例程包括 carp()、croak() 和 confess()
Errno
加载 libc 的 errno.h 定义
Sys::Syslog
提供 UNIX syslog(3) 交互的 Perl 接口
文件处理
Cwd
获得当前工作目录的路径名。 如用于 -w 开关, 则会产生错误消息
DirHandle
为目录句柄提供面向对象的接口
Fcntl
加载 libc 的 fcntl.h (文件控制) 定义
File::Basename
将文件名拆分为多个组成部分, 或者从全目录路径中提取文件名或目录名
File::CheckTree
对目录树中的某个文件集合执行文件测试操作
File::Copy
用于拷贝文件或文件句柄
File::DosGlob
进行类似于 DOS 的 glob 操作
File::Find
用于在 UNIX 文件树种查找
File::Finddepth
深度优先搜索文件系统
File::Glob
对 UNIX 文件名进行 glob 操作
File::Path
创建或删除一系列目录
File::Spec
对文件名进行移植操作
FileCache
允许打开比系统允许的数量更多的稳健
FileHandle
为文件句柄访问方法提供面向对象的接口
SelectServer
保存和恢复选择的文件句柄
flush.pl
写入文件句柄缓冲区中剩余的所有数据, 或者在打印表达式后清除缓冲区
pwd.pl
使用 chdir 后将 PWD 环境变量设置为当前的工作目录
stat.pl
将 stat 函数返回的值赋给标量: $st_dev、$st_ino、$st_mode、$st_nlink、$st_uid、$st_rdev、$st_atime、$st_mtime、$st_ctime、$st_blksize、$st_blocks
Pod::Text
将 Pod 文档转换为 ASCII 格式的文档
Search::Dict
在目录文件中搜索字符串 (按照字母表顺序), 并将文件指针设置到下一行
Term::Complete
为了提示用户, 可通过按下 Tab 键完成其余部分的输入, 或通过按下 <Ctrl>-d 完成列表的选择, 一边提供类似于文件名补齐功能的接口
Text::Abbrev
创建缩略表, 它是由列表中的键/值对构成的散列。 其中的键是缩写内容, 值是原字符串; 譬如 ma/mail、mo/more
Text::ParseWords
像 shell 一样把一行文本解析为一系列词语, 同时忽略开头的空白
Text::Soundex
将一个字映射为长度为四个字符的与该字发音完全对应的代码
Text::Tabs
将制表符扩展为空格, 或者不把制表符扩展为空格
Text::Warp
将文本换行为独立的段落
数据库接口
AnyDBM_File
一个基于 UNIX 系统的模块, 提供了多种 DBM 架构
DB_File
提供对 Berkeley DB 管理系统的访问手段。 参见 ftp://ftp.cs.berkeley.edu/ucb/4bsd
DBI
返回系统上的数据库列表及其驱动程序, 用于与数据库交互
GDBM_File
提供对 GUN 数据库管理系统的访问手段。 参见 ftp://prep.ai.mit.edu/pub/gnu
NDBM_File
一个基于 UNIX 系统的模块, 提供了与 NDBM 文件交互的手段
ODBM_File
一个基于 UNIX 系统的模块, 提供了与 ODBM 文件交互的手段
SDBM_File
一个基于 UNIX 系统的模块, 提供了与 SDBM 文件交互的手段
数学
bigrat.pl
对分数启用无限精度运算
Math::BigFloat
支持任意大小的浮点运算
Math::BigInt
支持任意大小的整数运算
Math::Complex
支持复杂的数字, 并展示运算符重载
Math::Trig
支持三角函数
网络
chat2.pl
允许 Perl 操纵交互式的网络服务, 如 FTP
comm.pl
比 chat2.pl 版本更新。 允许 Perl 操纵交互式的网络服务
IPC::Open2
打开程序进行读写, 使得能够与外部程序相互传输数据
IPC::Open3
打开进程进行读写或处理错误信息, 使得能够与外部程序相互传输数据
Net::Ping
检查远程主机是否开启
Socket
创建套接字, 为进程间通信导入套接字方法, 并加载 socket.h 头文件
Sys::Hostname
获取系统的主机名
时间和位置
I18N::Collate
根据当前时区比较 8 比特的标量数据
Time::gmtime
使用 Perl 内建函数 gmtime() 的接口
Time::Local
根据本地 GMT(UTC) 时间计算 UNIX 时间 (从 1970 年 1 月 1 日开始非闰秒数)
Time::localtime
使用 Perl 内建函数 localtime 的接口
终端
Term::Cap
提供操作终端配置的底层功能, 指向 termcap 数据库的终端接口
面向对象的模块函数
Autoloader
对于大模块, 将只加载需要的部分
AutoSplit
为了支持自动加载, 将模块拆分为指定字节大小的程序块
Devel::SelfStubber
为自加载模块生成代码存根, 以便再调用方法时能顺利加载
DynaLoader
用于自动和动态加载模块
Exporter
供其他模块使用, 负责导入方法和变量, 以便使之可用
overload
重载算数操作
Tie::Hash
提供将散列与包相连接的方法
Tie::Scalar
提供将标量与包相连接的方法
Tie::SubstrHash
为含有常量键和记录大小的数组提供类似于散列的接口
语言扩展
ExtUtils::Install
用于安装和卸载与平台相关的 Perl 扩展
ExtUtils::Liblist
决定使用的库, 以及如何使用它们
ExtUtils::MakeMaker
在扩展库中为 Perl 扩展创建 Makefile
ExtUtils::Manifest
自动维护由文件名列表构成的 MANIFEST 文件
ExtUtils::Miniperl
编写含有引导程序文件的 C 代码 perlmain.c , 用于创建供 Perl 模块使用的存档库
ExtUtils::Mkbootstrap
从扩展的 Makefile 中调用, 负责创建引导程序文件, 以便动态加载某些系统
ExUtils::Mksysmlists
编写在创建动态扩展的共享库时所要用到的一些链接的 linker 选项文件
ExtUtils::MM_OS2
覆盖方法的实现, 并影响 UNIX 行为
ExtUtils::MM_UNIX
用于 MakeMaker, 负责为 UNIX 与非 UNIX 系统提供方法
ExtUtils::_VMS
覆盖方法的实现, 并影响 UNIX 行为
Fcntl
翻译 C 的 fcntl 头文件
POSIX
为 IEEE std 1003.1 标识符提供 Perl 处理接口
Safe
提供私有分割区域, 用于评估不安全的 Perl 代码
Test::Harness
用于 MakeMaker , 负责测试运行 Perl 扩展,并生成诊断信息