Manpages

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 [AT] wall.org>, with the help of oodles of other folks. 如 果 你 使 用 Perl 的 成 功 案 例 對 想 在 項 目 中 應 用 Perl 的 人 有 用 , 或 者 如 果 你 只 是 想 想 表 達 你 對 Larry 和 Perl 開 發 者 的 感 激 之 情 , 請 寫 信 到 <perl-thanks [AT] 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 [AT] 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 [AT] 163.com>

[中 文 版 最 新 更 新 ]

2003.11.29

《 中 國 linux論 壇 man手 冊 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net 本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh