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/// 操 作 符 。 这 时 , 你 需 要 一 个 循 环 。 幸 运 的 是 ,for/foreach 的别 名 特 性 加 上 它 把 $_ 当 作 缺 省 循 环 变 量 , 这 样 就 产 生 了 <strong>Perl</strong> 标 准 的 用 于 搜 索 和 替 换 一个 数 组 里 每 个 元 素 的 俗 语 :for (@chapters) { s/Bilbo/Frodo/g }s/bilbo/Frodo/g for @chapters;# 一 章 一 章 的 替 换# 一 样 的 东 西就 象 一 个 简 单 的 标 量 变 量 一 样 , 如 果 你 想 把 初 始 的 值 保 留 在 其 他 地 方 , 你 也 可 以 把 替 换 和 赋值 结 合 在 一 起 :@oldhues = ('bluebird', 'bluegrass', 'bluefish', 'the blues');for (@newhues = @oldhues) { s/blue/red/}print "@newhues\n";# 打 印 :redbird redgrass redfish the reds对 同 一 个 变 量 执 行 重 复 替 换 的 最 经 典 的 方 法 是 用 一 个 单 程 循 环 。 比 如 , 下 面 是 规 范 变 量 里 的空 白 的 方 法 :for ($string) {s/^\s+//;s/\s+$//;s/\s+/ /g;# 丢 弃 开 头 的 空 白# 丢 弃 结 尾 的 空 白# 压 缩 内 部 的 空 白}这 个 方 法 正 好 和 下 面 的 是 一 样 的 :$string = join(" ", split " ", $string);你 还 可 以 把 这 样 的 循 环 和 赋 值 用 在 一 起 , 就 象 我 们 在 数 组 的 例 子 里 做 的 那 样 :for( $newshow = $oldshow ) {s/Fred/Homer/g;s/Wilma/Marge/g;s/Pebbles/Lisa/g;s/Dino/Bart/g;161

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

Saved successfully!

Ooh no, something went wrong!