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.

s/ham/turkey/ for @christmas, @easter;# 和 上 面 一 样 的 东 西for ($scalar, @array, values %hash) {s/^\s+//;s/\s+$//;# 删 除 开 头 的 空 白# 删 除 结 尾 的 空 白}循 环 变 量 只 在 循 环 的 动 态 或 者 词 法 范 围 内 有 效 。 如 果 该 变 量 事 先 用 my 定 义 , 那 么 它 隐 含地 是 在 词 法 范 围 里 。 这 样 , 对 于 任 何 在 词 法 范 围 之 外 定 义 的 函 数 它 都 是 不 可 见 的 , 即 使 是 在循 环 里 调 用 的 函 数 也 看 不 到 这 个 变 量 。 不 过 , 如 果 在 范 围 里 没 有 词 法 定 义 , 那 么 循 环 变 量 就是 局 部 化 的 ( 动 态 范 围 ) 全 局 变 量 ; 这 样 就 允 许 循 环 内 调 用 的 函 数 访 问 它 。 另 外 , 循 环 变 量在 循 环 前 拥 有 的 值 将 在 循 环 退 出 之 后 自 动 恢 复 。如 果 你 愿 意 , 你 可 以 明 确 地 声 明 使 用 哪 种 变 量 ( 词 法 或 全 局 )。 这 样 让 你 的 代 码 的 维 护 人 员能 够 比 较 容 易 理 解 你 的 代 码 ; 否 则 , 他 们 就 得 在 一 个 封 闭 的 范 围 里 往 回 找 , 看 看 该 变 量 在 前面 声 明 为 什 么 :for my $i (1 .. 10) { ... }for our $Tick ( 1.. 10) { ...}# $i 总 是 在 词 法 范 围# $Tick 总 是 全 局当 定 义 伴 随 着 循 环 变 量 时 , 短 些 的 for 比 foreach 要 好 , 因 为 它 更 符 合 英 文 的 阅 读 习 惯 。下 面 是 一 个 C 或 者 JAVA 程 序 员 在 使 用 <strong>Perl</strong> 表 示 某 种 算 法 时 首 先 会 想 到 的 代 码 :for ( $i = 0; $i < @ary1; $i++) {for ( $j=0; $j $ary2[$j]) {last; # 没 法 到 外 层 循 环 :-(}$ary1[$i] += $ary2[$j];}122

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

Saved successfully!

Ooh no, something went wrong!