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.

在 我 们 刚 刚 显 示 的 例 子 里 , 反 斜 杠 操 作 符 只 是 简 单 地 复 制 了 一 个 已 经 存 在 于 一 个 命 名 变 量 上的 引 用 —— 但 有 一 个 例 外 。186_282.42 不 是 一 个 命 名 变 量 的 引 用 —— 它 只 是 一 个 数 值 。它 是 那 种 我 们 早 先 提 到 过 的 匿 名 引 用 。 匿 名 引 用 物 只 能 通 过 引 用 来 访 问 。 我 们 这 个 例 子 碰 巧是 一 个 数 字 , 但 是 你 也 可 以 创 建 匿 名 数 组 , 散 列 , 和 子 过 程 。8.2.2.1 匿 名 数 组 组 合 器你 可 以 用 方 括 弧 创 建 一 个 创 建 一 个 指 向 匿 名 数 组 的 引 用 :$arrayref = [1, 2, ['a', 'b', 'c', 'd']];在 这 里 我 们 组 合 成 了 一 个 三 个 元 素 的 匿 名 数 组 , 该 数 组 最 后 一 个 元 素 是 一 个 指 向 有 着 四 个 元素 的 匿 名 数 组 ( 在 图 8-2 里 演 示 )。( 我 们 稍 后 描 述 的 多 维 语 法 可 以 用 于 访 问 这 些 东 西 。比 如 , $arrayref->[2][1] 将 具 有 数 值 “b”。)现 在 我 们 有 一 个 方 法 来 表 示 我 们 本 章 开 头 的 表 :$table = [ [ "john", 47, "brown", 186],[ "mary", 23, ""hazel", 128],[ "bill", 35, "blue", 157] ];只 是 当 <strong>Perl</strong> 分 析 器 在 一 个 表 达 式 里 需 要 项 的 时 候 , 方 括 弧 才 可 以 这 样 运 做 。 你 可 不 要 把 它们 和 表 达 式 里 的 方 括 弧 混 淆 起 来 —— 比 如 $array[6]—— 尽 管 与 数 组 的 记 忆 性 关 联 是 有 意为 之 的 。 在 一 个 引 起 的 字 串 里 , 方 括 弧 并 不 组 成 匿 名 数 组 ; 相 反 , 它 们 成 为 字 串 里 的 文 本 字符 。( 在 字 串 里 方 括 弧 的 确 仍 然 可 以 当 作 脚 标 使 用 , 否 则 你 就 不 能 打 印 象"VAL=$array[6]\n" 这 样 的 字 串 。 如 果 要 我 们 绝 对 诚 实 , 你 实 际 上 是 可 以 偷 偷 地 把 匿 名数 组 组 合 器 放 到 字 串 里 , 但 只 能 是 在 它 被 潜 入 到 一 个 更 大 的 表 达 式 中 , 并 且 该 表 达 式 被 代 换的 情 况 下 才 可 以 实 现 。 我 们 将 在 本 章 稍 后 讲 述 这 个 酷 酷 的 特 性 , 因 为 它 既 包 括 引 用 也 包 括 解引 用 。)8.2.2.2 匿 名 散 列 组 合 器你 可 以 用 花 括 弧 创 建 一 个 指 向 匿 名 散 列 的 引 用 :$hashref = {'Adam' => 'Eve','Clyde' => $bonnie,211

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

Saved successfully!

Ooh no, something went wrong!