13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

一 个 引 用 可 以 指 向 任 何 数 据 结 构 。 因 为 引 用 是 标 量 , 所 以 你 可 以 把 它 们 保 存 在 数 组 和 散 列 里 ,因 此 我 们 就 可 以 做 出 数 组 的 数 组 , 散 列 的 数 组 , 数 组 的 散 列 , 散 列 和 函 数 的 数 组 等 。 在 第 九章 , 数 据 结 构 , 里 有 这 些 东 西 的 例 子 。不 过 , 你 要 记 住 的 是 ,<strong>Perl</strong> 里 的 数 组 和 散 列 都 是 故 意 作 成 一 维 的 。 也 就 是 说 , 它 们 的 元 素只 能 保 存 标 量 值 ( 字 串 , 数 字 , 和 引 用 )。 当 我 们 使 用 “ 数 组 的 数 组 ” 这 样 的 习 语 的 时 候 , 我们 的 意 思 实 际 上 是 “ 一 个 保 存 指 向 一 些 数 组 的 引 用 的 数 组 ”, 就 好 象 我 们 说 “ 函 数 散 列 ” 的 时候 , 我 们 实 际 上 是 说 “ 一 个 保 存 着 一 些 指 向 子 过 程 的 引 用 的 散 列 ”。 但 因 为 引 用 是 在 <strong>Perl</strong> 里实 现 这 些 构 造 的 唯 一 方 法 , 所 以 我 们 那 些 稍 微 短 的 并 非 准 确 的 习 语 也 就 并 不 是 完 全 不 对 , 因此 也 不 应 该 完 全 忽 视 , 除 非 你 碰 到 准 确 性 问 题 。8.2 创 建 引 用创 建 引 用 的 方 法 有 好 多 种 , 我 们 在 讲 述 它 们 的 时 候 大 多 会 先 描 述 它 们 , 然 后 才 解 释 如 何 使 用( 解 引 用 ) 所 生 成 的 引 用 。8.2.1 反 斜 杠 操 作 符你 可 以 用 一 个 反 斜 杠 创 建 一 个 指 向 任 何 命 名 变 量 或 者 子 过 程 的 引 用 。( 你 还 可 以 把 它 用 于 一个 匿 名 标 量 值 , 比 如 7 或 "camel", 尽 管 你 通 常 并 不 需 要 这 些 东 西 。) 乍 一 看 , 这 个 操 作符 的 作 用 类 似 C 里 的 &( 取 址 ) 操 作 符 。下 面 是 一 些 例 子 :$scalarref = \$foo;$constref = \186_282.42;$arrayref = \@ARGV;$hashref$coderef$globref= \%ENV;= \&handler;= \*STDOUT;反 斜 杠 操 作 符 可 以 做 的 事 情 远 远 不 止 生 成 一 个 引 用 。 如 果 你 对 一 个 列 表 使 用 反 斜 杠 , 那 么 它会 生 成 一 整 列 引 用 。 参 阅 “ 你 用 硬 引 用 可 以 实 现 的 其 他 技 巧 ” 一 节 。8.2.2 匿 名 数 据210

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

Saved successfully!

Ooh no, something went wrong!