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.

在 前 面 一 节 里 , 我 们 指 出 了 ${identifier} 是 不 被 当 作 符 号 引 用 看 待 的 。 你 可 能 会 想 知 道这 个 机 制 是 怎 么 和 保 留 字 相 交 互 的 , 简 单 的 回 答 是 : 它 们 没 有 相 互 交 互 。 尽 管 push 是 一个 保 留 字 , 下 面 这 两 句 还 是 打 印 "pop on over":$push = "pop on ";print "${push}over";这 里 的 原 因 是 这 样 的 , 历 史 上 ,Unix shell 是 用 花 括 弧 来 隔 离 变 量 名 字 和 后 继 的 字 母 数 字文 本 的 ( 要 不 然 这 些 字 母 数 字 就 成 了 变 量 名 字 的 一 部 分 。) 这 也 是 许 多 人 预 料 的 变 量 代 换 的运 转 方 式 , 因 此 我 们 在 <strong>Perl</strong> 令 之 以 同 样 的 方 法 运 转 。 但 是 就 <strong>Perl</strong> 而 言 , 这 种 表 示 法 的 使用 得 到 了 扩 展 , 它 可 以 用 于 任 意 用 来 生 成 引 用 的 花 括 弧 , 不 管 它 们 是 否 位 于 引 号 里 面 。 这 就意 味 着 :print ${push} . 'over';或 者 甚 至 是 下 面 ( 因 为 空 格 无 所 谓 ):print ${ push } . 'over';都 打 印 出 "pop on over", 尽 管 花 括 弧 在 双 引 号 外 边 。 同 样 的 规 则 适 用 于 任 意 给 散 列 做 脚标 的 标 识 符 。 因 此 , 我 们 可 以 不 用 写 下 面 这 样 的 句 子 :$hash{ "aaa" }{ "bbb" }{ "ccc" }你 可 以 只 写 :$hash{ aaa}{ bbb }{ ccc }或 者$hash{aaa}{bbb}{ccc}而 不 用 担 心 这 些 脚 标 是 否 为 保 留 字 。 因 此 :$hash{ shift }被 代 换 成 $hash{"shift"}。 你 可 以 迫 使 代 换 当 作 保 留 字 来 用 , 方 法 是 增 加 任 何 可 以 令 这 个名 字 不 仅 仅 是 一 个 标 识 符 的 东 西 :$hash{ shift() }$hash{ +shift }233

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

Saved successfully!

Ooh no, something went wrong!