Provided by: manpages-zh_1.5.2-1.1_all bug

NAME

       perl - Practical Extraction and Report Language (实用摘录和汇报语言)

总览 SYNOPSIS

       perl [ -sTuU ] [ -hv ] [ -V[:configvar] ]
           [ -cw ] [ -d[:debugger] ] [ -D[number/list] ]
           [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal] ]
           [ -Idir ] [ -m[-]module ] [ -M[-]'module...' ]
           [ -P ] [ -S ] [ -x[dir] ]
           [ -i[extension] ] [ -e 'command' ] [ -- ] [ programfile ] [ argument ]...

       如果你是 Perl 新手,还是从 perlintro 看起吧,那是为初学者准备的简单介绍,提供了一些背景知
       识,帮助你浏览 Perl 其余的大量文档

       为方便阅读,Perl 手册分成了很多章

       概述 Overview

           perl                Perl 概述 (本小节)
           perlintro           Perl 介绍 (为新手准备)
           perltoc             Perl 目录 (所有内容列表)

       教程 Tutorials

           perlreftut          Perl 引用
           perldsc             Perl 数据结构
           perllol             Perl 高级数据结构

           perlrequick         Perl 正则表达式快速入门
           perlretut           Perl 正则表达式

           perlboot            Perl OO 面向对象 入门
           perltoot            Perl OO 面向对象 教程 (第一部分)
           perltooc            Perl OO 面向对象 教程 (第二部分)
           perlbot             Perl OO 面向对象 窍门和例子

           perlstyle           Perl 程序风格

           perlcheat           Perl 投机取巧
           perltrap            Perl 大意者的陷阱
           perldebtut          Perl 调试

           perlfaq             Perl 常见问题
             perlfaq1          有关 Perl 的一般问题
             perlfaq2          获取/学习 Perl
             perlfaq3          编程工具
             perlfaq4          数据操纵
             perlfaq5          文件与文件格式
             perlfaq6          正则表达式
             perlfaq7          Perl 语言本身的问题
             perlfaq8          与操作系统交互
             perlfaq9          网络

       参考手册 Reference Manual

           perlsyn             Perl 语法
           perldata            Perl 数据结构
           perlop              Perl 操作符及优先级
           perlsub             Perl 定义函数
           perlfunc            Perl 内置函数
             perlopentut       Perl open() 教程
             perlpacktut       Perl pack() 和 unpack() 教程
           perlpod             Perl POD 文档
           perlpodspec         Perl POD 文档格式规约
           perlrun             Perl 执行选项
           perldiag            Perl 诊断信息
           perllexwarn         Perl 警告 控制警告
           perldebug           Perl 调试
           perlvar             Perl 预定义变量
           perlre              Perl 正则表达式 其余的部分
           perlreref           Perl 正则表达式快速索引
           perlref             Perl 参考 其余的部分
           perlform            Perl 格式
           perlobj             Perl 对象
           perltie             Perl 用简单变量隐藏对象
             perldbmfilter     Perl DBM 层

           perlipc             Perl 进程间通信
           perlfork            Perl fork() 相关信息
           perlnumber          Perl 数字的语义

           perlthrtut          Perl 线程
             perlothrtut       旧版 Perl 线程

           perlport            Perl 移植向导
           perllocale          Perl 语言环境支持
           perluniintro        Perl Unicode 介绍
           perlunicode         Perl Unicode 支持
           perlebcdic          在 EBCDIC 平台上运行 Perl

           perlsec             Perl 安全性

           perlmod             Perl modules: 它如何工作
           perlmodlib          Perl modules: 如何写和用它们
           perlmodstyle        Perl modules: 如何写好它
           perlmodinstall      Perl modules: 如何从 CPAN 安装它们
           perlnewmod          Perl modules: 准备释放出新模块

           perlutil            Perl 附带的工具

           perlcompile         Perl 编译套件介绍

           perlfilter          Perl 源码过滤

       内部以及 C 接口 Internals and C Language Interface

           perlembed           在 C/C++ 应用中内置 Perl 的独特方法
           perldebguts         Perl 调试要点和技巧
           perlxstut           Perl XS
           perlxs              Perl XS 应用程序编程接口
           perlclib            标准 C 库的内部实现
           perlguts            为高级开发者准备的 Perl 内部函数
           perlcall            从 C 转换为 Perl 调用

           perlapi             Perl API 列表 (自动生成)
           perlintern          Perl 内部函数 (自动生成)
           perliol             Perl 以“层”方式实现 IO 用到的 C API
           perlapio            Perl 内部 IO 抽象接口

           perlhack            修改 Perl

       杂项 Miscellaneous

           perlbook            Perl 书籍信息
           perltodo            Perl 的未来

           perldoc             查看 Pod 格式的 Perl 文档

           perlhist            Perl 历史记录
           perldelta           Perl 上一版本以来的变动
           perl58delta         Perl 5.8.0 带来的变化
           perl573delta        Perl changes in version 5.7.3
           perl572delta        Perl changes in version 5.7.2
           perl571delta        Perl changes in version 5.7.1
           perl570delta        Perl changes in version 5.7.0
           perl561delta        Perl changes in version 5.6.1
           perl56delta         Perl changes in version 5.6
           perl5005delta       Perl changes in version 5.005
           perl5004delta       Perl changes in version 5.004

           perlartistic        Perl Artistic License
           perlgpl             GNU General Public License

       语言相关 Language-Specific

           perlcn              Perl 简体中文支持 (原文是 EUC-CN 编码)
           perljp              Perl 日本语支持 (原文是 EUC-JP 编码)
           perlko              Perl 朝鲜语支持 (原文是 EUC-KR 编码)
           perltw              Perl 繁体中文支持 (原文是 Big5 编码)

       平台相关 Platform-Specific

           perlaix             Perl notes for AIX
           perlamiga           Perl notes for AmigaOS
           perlapollo          Perl notes for Apollo DomainOS
           perlbeos            Perl notes for BeOS
           perlbs2000          Perl notes for POSIX-BC BS2000
           perlce              Perl notes for WinCE
           perlcygwin          Perl notes for Cygwin
           perldgux            Perl notes for DG/UX
           perldos             Perl notes for DOS
           perlepoc            Perl notes for EPOC
           perlfreebsd         Perl notes for FreeBSD
           perlhpux            Perl notes for HP-UX
           perlhurd            Perl notes for Hurd
           perlirix            Perl notes for Irix
           perlmachten         Perl notes for Power MachTen
           perlmacos           Perl notes for Mac OS (Classic)
           perlmacosx          Perl notes for Mac OS X
           perlmint            Perl notes for MiNT
           perlmpeix           Perl notes for MPE/iX
           perlnetware         Perl notes for NetWare
           perlos2             Perl notes for OS/2
           perlos390           Perl notes for OS/390
           perlos400           Perl notes for OS/400
           perlplan9           Perl notes for Plan 9
           perlqnx             Perl notes for QNX
           perlsolaris         Perl notes for Solaris
           perltru64           Perl notes for Tru64
           perluts             Perl notes for UTS
           perlvmesa           Perl notes for VM/ESA
           perlvms             Perl notes for VMS
           perlvos             Perl notes for Stratus VOS
           perlwin32           Perl notes for Windows

       默认情况下,上面列出的手册页安装在 /usr/local/man/ 目录

       还有大量有关 Perl 模块的文档。默认的 perl 配置会将它们安装到 /usr/local/lib/perl5/man 目
       录,(或者 Perl 库目录中的 man 子目录). 它们中的一部分是随 Perl 发布的标准文档, 另外你还可
       以从中找到第三方的文档

       你可以用 man(1) 程序来查看 Perl 的文档,只要在配置文件中加入合适的路径, 或者将路径设置在
       MANPATH 环境变量中。要找出 perl 所有手册页的路径,只要运行

           perl -V:man.dir

       如果路径有共同点,例如 /usr/local/man/man1/usr/local/man/man3, 你只要将共同点
       (/usr/local/man) 加入到 man(1) 的配置文件中,或是 MANPATH 环境变量中。如果它们没有共同
       点,就必须全部添加

       如果这样做没有效果,你也可以用附带的 perldoc 脚本来查看模块信息。也可以找一个 man 的替代程
       序

       如果你的程序出了问题,又不知道该到哪里去找帮助,就先试一试 -w 选项。它会精确地报告错误发生
       在哪一行

描述 DESCRIPTION

       Perl 是一种特别为扫描复杂文本文件优化过的语言, 从中提取有用的信息,然后据此生成结果。 它
       也是系统管理任务中很好用的语言。它的目标是实用 (易用,高效,完整) 而不是 精致 (小,优
       雅,功能有限)

       Perl 结合了 (在作者看来) C, sed, awk, 还有 sh 的优点,熟悉它们的人学起 Perl 毫无困难。 (语
       言学家还会从中发现一些 csh, Pascal, 甚至 BASIC-PLUS 中的元素。) 表达式语法与 C 表达式语法
       紧密对应。与大多数 Unix 工具不同,Perl 不限制 你的数据的大小 -- 只要你有足够的内存,Perl
       可以把你的整个文件当作单一的字符串来享受。 递归的深度是无限的。 散列 (有时又叫做“关联数组”
       "associative arrays" ) 会按需生长,以避免性能下降。 Perl 使用精致的模式匹配技术来保证快速
       扫描大量数据。 尽管为扫描文本而优化,Perl 仍然可以处理二进制数据,也可以像使用散列一样使用
       dbm 文件。 设置了 UID 的 Perl 脚本要比 C 程序安全,因为数据流跟踪机制可以堵上很多愚蠢的安
       全漏洞

       如果你遇到了一般适于 sedawksh 处理的问题,但是问题超出了工具的能力, 或者需要更快
       的处理,你又不想用 C 来写一大堆倒塌的程序,那么使用 Perl 吧。 另外,还有很多将 sedawk
       脚本转换为 Perl 脚本的翻译器

       但是稍等,还有更多...

       自 1993 年开始 (参见 perlhist),Perl 5 进行了几乎完全的重写, 提供了以下的功能:

       •   模块性和可复用性

           详述在 perlmod, perlmodlib, 和 perlmodinstall 中

       •   可内置可扩展

           详述在 perlembed, perlxstut, perlxs, perlcall, perlguts, 和 xsubpp 中

       •   创建功能强大的数据类型 (同时包括多种 DBM 实现)

           详述在 perltie 和 AnyDBM_File 中

       •   函数可重载,自动加载,原型化

           详述在 perlsub 中

       •   复杂的数据结构嵌套还有匿名函数

           详述在 perlreftut, perlref, perldsc, 和 perllol 中

       •   面向对象编程

           详述在 perlobj, perlboot, perltoot, perltooc, 和 perlbot 中

       •   支持轻量级进程 (线程)

           详述在 perlthrtut 和 threads 中

       •   支持 Unicode,国际化和本地化

           详述在 perluniintro, perllocale 和 Locale::Maketext 中

       •   变量作用域

           详述在 perlsub 中

       •   正则表达式强化

           详述在 perlre 中,perlop 中有更多例子

       •   强化的调试工具和交互的 Perl 环境,支持集成的编辑器

           详述在 perldebtut, perldebug 和 perldebguts 中

       •   POSIX 1003.1 兼容的库

           详述在 POSIX 中

       Okay, 这些已经是绝对的绝对够用了

可用性 AVAILABILITY

       Perl 在大部分操作系统上都可用,包含几乎所有类 Unix 的平台。参见 perlport 中的 "Supported
       Platforms" 段来查看平台列表

环境 ENVIRONMENT

       参见 perlrun

作者 AUTHOR

       Larry Wall <larry@wall.org>, with the help of oodles of other folks.

       如果你使用 Perl 的成功案例对想在项目中应用 Perl 的人有用, 或者如果你只是想想表达你对
       Larry 和 Perl 开发者的感激之情,请写信到 <perl-thanks@perl.org>

文件 FILES

        "@INC"                 locations of perl libraries

参见 SEE ALSO

        a2p    awk 到 perl 翻译器
        s2p    sed 到 perl 翻译器

        http://www.perl.com/       Perl 官方主页
        http://www.cpan.org/       the Comprehensive Perl Archive (Perl 文件中心)
        http://www.perl.org/       Perl Mongers (Perl 用户组)

诊断 DIAGNOSTICS

       "use warnings" 编译指示 (pragma) (还有 -w 选项) 会产生 一些有用的诊断信息

       参见 perldiag 来查看所有 Perl 诊断信息的含义。 "use diagnostics" 编译指示会自动将 Perl 简
       短的警告和错误消息 转换为长格式

       编译错误将给出行号,还有要执行的下一个词或词的类型。 (在用 -e 选项传给 Perl 的脚本中,每个
       -e 视为一行。)

       设置了 UID 的脚本有额外的约束,会产生格式化的错误信息,类似 "Insecure dependency"。参见
       perlsec

       我们说过你一定要用 -w 选项了吗?

BUGS

       -w 选项不是必要的

       Perl 依赖于你的机器中操作的定义,类似于类型转换, atof(), 还有使用 sprintf() 来做浮点输出
       等操作

       如果你的 stdio 在读写一个特殊流时需要一个 seek 或是 eof,Perl 也会需要它们。 (这种情况不会
       在 sysread()syswrite() 中发生。)

       所有内置数据类型都没有大小限制 (除了内存大小之外),但是还是有一些限制: 变量名不得长于 251
       个字符。 诊断信息显示的行号以短整型数保存,因此行号最大值是 65535 (更大的行号一般会从头开
       始)

       可以将错误报告 (一定要包含完整的配置信息,使用 perl 源码树中的 myconfig 程序,或者用 "perl
       -V" 命令得到) 寄给 perlbug@perl.org 。 如果你已经成功编译 perl, utils/ 目录中的 perlbug
       脚本可以用来邮寄错误报告

       Perl 真正意义是 Pathologically Eclectic Rubbish Lister, 但是 不要告诉任何人我说过它

注意 NOTES

       Perl 的信条是 "There's more than one way to do it."  至于探索有多少种办法,就是读者自己的
       事了

       程序员应有的三种美德是 Laziness, Impatience, 还有 Hubris.  原因呢,请参见骆驼书

[中文版维护人]

       bbbush <bbbush@163.com>

[中文版最新更新]

       2003.11.29

《中国linux论坛man手册翻译计划》:

       http://cmpp.linuxforum.net