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.

每 个 操 作 符 需 要 一 个 目 标 左 值 ( 典 型 值 是 一 个 变 量 或 数 组 元 素 ) 在 左 边 以 及 一 个 表 达 式 在 右边 。 对 于 简 单 赋 值 操 作 符 :TARGET = EXPREXPR 的 值 被 存 储 到 TARGET 指 明 的 变 量 或 者 位 置 里 面 。 对 其 他 操 作 符 而 言 , <strong>Perl</strong> 计 算表 达 式 :TARGET OP= EXPR就 好 象 它 是 这 么 写 的 一 样 :TARGET = TARGET OP EXPR这 是 有 利 于 简 便 的 规 则 , 不 过 它 在 两 个 方 面 会 误 导 我 们 。 首 先 , 赋 值 操 作 符 总 是 以 普 通 赋 值的 优 先 级 进 行 分 析 的 , 不 管 OP 本 身 的 优 先 级 是 什 么 。 第 二 ,TARGET 只 计 算 一 次 。 通 常这 样 做 没 有 什 么 问 题 , 除 非 存 在 副 作 用 , 比 如 一 个 自 增 :$var[$a++] += $value;# $a 增 加 了 一 次$var[$a++] = $var[$a++] + $value;# $a 增 加 了 两 次不 象 C 里 , 赋 值 操 作 符 生 成 一 个 有 效 的 左 值 。 更 改 一 个 赋 值 等 效 于 先 赋 值 然 后 把 变 量 修 改为 赋 的 值 。 这 招 对 修 改 一 些 东 西 的 拷 贝 很 管 用 , 象 这 样 :($tmp = $global) += $constant;等 效 于 :$tmp = $global + $constant;类 似 :($a += 2) *= 3;等 效 于 :108

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

Saved successfully!

Ooh no, something went wrong!