13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

文 件 团 只 有 在 开 始 ( 处 理 ) 一 个 新 列 表 的 时 候 才 计 算 它 ( 内 嵌 ) 的 操 作 数 。 所 有 数 值 必 须 在该 操 作 符 开 始 处 理 之 前 读 取 。 这 在 列 表 环 境 里 不 算 什 么 问 题 , 因 为 你 自 动 获 取 全 部 数 值 。 不过 , 在 标 量 环 境 里 时 , 每 次 调 用 操 作 符 都 返 回 下 一 个 值 , 或 者 当 你 的 数 值 用 光 后 返 回 一 个 假值 。 同 样 , 假 值 只 会 返 回 一 次 。 所 以 如 果 你 预 期 从 文 件 团 里 获 取 单 个 数 值 , 好 些 的 方 法 是 :($file) = ; # 列 表 环 境上 面 的 方 法 要 比 :$fiole = ; # 标 量 环 境好 , 因 为 前 者 返 回 所 有 匹 配 的 文 件 名 并 重 置 该 操 作 符 , 而 后 者 要 么 返 回 文 件 名 , 要 么 返 回 假 。如 果 你 准 备 使 用 变 量 代 换 功 能 , 那 么 使 用 glob 操 作 符 绝 对 比 使 用 老 式 表 示 法 要 好 , 因 为老 方 法 会 导 致 与 间 接 文 件 句 柄 的 混 淆 。 这 也 是 为 什 么 说 项 和 操 作 符 之 间 的 边 界 线 有 些 模 糊 的原 因 :@files = ; # 能 用 , 不 过 应 该 避 免 这 么 用 。 @files = glob("dir/*.[ch]");# 把 glob 当 函 数 用 。 @files = glob $some_pattern; # 把 glob 当 操 作 符 用 。我 们 在 最 后 一 个 例 子 里 把 圆 括 弧 去 掉 是 为 了 表 明 glob 可 以 作 为 函 数 ( 一 个 项 ) 使 用 或 者是 一 个 单 目 操 作 符 用 ; 也 就 是 说 , 一 个 接 受 一 个 参 数 的 前 缀 操 作 符 。glob 操 作 符 是 一 个 命名 的 单 目 操 作 符 的 例 子 ; 是 我 们 下 一 章 将 要 谈 到 的 操 作 符 。 稍 后 , 我 们 将 谈 谈 模 式 匹 配 操 作符 , 它 也 是 分 析 起 来 类 似 项 , 而 作 用 象 操 作 符 。第 三 章 单 目 和 双 目 操 作 符在 上 面 一 章 里 , 我 们 讲 了 各 种 你 可 能 在 表 达 式 里 用 到 的 项 , 不 过 老 实 说 , 把 项 隔 离 出 来 让 人觉 得 有 点 无 聊 。 因 为 许 多 项 都 是 群 居 动 物 。 它 们 相 互 之 间 有 某 种 关 系 。 年 轻 的 项 急 于 以 各 种方 式 表 现 自 己 并 影 响 其 它 项 , 而 且 还 存 在 不 同 类 型 的 社 会 关 系 和 许 多 不 同 层 次 的 义 务 。 在<strong>Perl</strong> 里 , 这 种 关 系 是 用 操 作 符 来 表 现 的 。社 会 学 必 须 对 某 些 事 物 有 利 。从 数 学 的 角 度 来 看 , 操 作 符 只 是 带 着 特 殊 语 法 的 普 通 函 数 。 从 语 言 学 的 角 度 来 说 , 操 作 符 只是 不 规 则 动 词 。 不 过 , 几 乎 任 何 语 言 都 会 告 诉 你 , 在 一 种 语 言 里 的 不 规 则 动 词 很 可 能 是 你 最86

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!