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> 的 内 部实 现 中 , 散 列 的 操 作 是 通 过 对 一 个 散 列 表 查 找 完 成 的 , 这 就 是 散 列 为 什 么 这 么 快 的 原 因 , 而且 无 论 你 在 散 列 中 存 储 多 少 数 据 , 它 总 是 很 快 ). 然 而 你 不 能 push 或 pop 一 个 散 列 ,因 为 这 样 做 没 有 意 义 . 一 个 散 列 没 有 开 始 也 没 有 结 束 . 不 管 怎 么 样 , 散 列 的 确 非 常 有 用 而 且强 大 . 如 果 你 不 能 理 解 散 列 的 概 念 , 那 你 还 不 能 算 真 正 的 了 解 <strong>Perl</strong>. 图 1-1 显 示 了 一 个数 组 中 有 序 的 元 素 和 一 个 散 列 中 无 序 但 是 有 名 字 的 元 素 .因 为 散 列 不 是 根 据 位 置 来 访 问 的 , 因 此 你 在 构 建 散 列 时 必 须 同 时 指 定 数 值 和 键 字 , 你 仍 然 可以 象 一 个 普 通 的 数 组 那 样 给 散 列 赋 值 , 但 是 在 列 表 中 的 每 一 对 元 素 都 会 被 解 释 为 一 个 键 字 和一 个 数 值 . 因 为 我 们 是 在 处 理 一 对 元 素 , 因 此 散 列 使 用 % 这 个 趣 味 字 符 来 标 志 散 列 名 字( 如 果 你 仔 细 观 察 %, 你 会 发 现 斜 扛 两 边 的 键 字 和 数 值 . 这 样 理 解 可 能 会 帮 助 记 忆 .)假 设 你 想 把 简 写 的 星 期 名 称 转 换 成 全 称 , 你 可 以 使 用 下 面 的 赋 值 语 句 :%longday = ("Sun", "Sunday", "Mon", "Monday", "Tue", "Tuesday","Wed", "Wednesday", "Thu", "Thursday", "Fri","Friday", "Sat", "Saturday");不 过 上 面 地 写 法 非 常 难 读 懂 , 因 此 <strong>Perl</strong> 提 供 了 =>( 等 号 和 大 于 号 地 组 合 ) 来 做 逗 号 的 替代 操 作 符 . 使 用 这 种 表 示 方 法 , 可 以 非 常 容 易 地 看 出 哪 个 字 符 串 是 关 键 字 , 哪 个 是 关 联 的 值 .%longday = ("Sun" => "Sunday","Mon" => "Monday","Tue" => "Tuesday","Wed" => "Wednesday","Thu" => "Thursday","Fri" => "Friday","Sat" => "Saturday",);16

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

Saved successfully!

Ooh no, something went wrong!