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.

package main;for $normal (qw/perl NZ pa/) {$magic = MagicDec->new($normal);$magic --;print "$normal goes to $magic\n";}打 印 出 :perl goes to perkNZ goes to NYPa goes to Oz很 准 确 地 对 <strong>Perl</strong> 神 奇 的 字 串 自 增 操 作 符 做 了 反 向 工 程 。++$a 操 作 符 可 以 用 $a += 1 或 $a = $a +1 自 动 生 成 , 而 $a-- 使 用 $a -= 1 或 $a= $a - 1。 不 过 , 这 样 并 不 会 触 发 真 正 的 ++ 操 作 符 会 触 发 的 拷 贝 性 质 。 参 阅 本 章 稍 后 的“ 拷 贝 构 造 器 ”。比 较 操 作 符 :==,=,!=,,lt,le,gt,ge,eq,ne,cmp 如 果重 载 了 , 那 么 它 可 以 用 于 自 动 生 成 =, = 和 的 性 质 。 类 似 地 , 如 果重 载 了 cmp, 那 么 它 可 以 用 于 自 动 生 成 lt, le, gt, ge, eq 和 ne 的 性 质 。请 注 意 重 载 cmp 不 会 让 你 的 排 序 变 成 你 想 象 的 那 么 简 单 , 因 为 将 要 比 较 的 是 字 串 化 的 版本 的 对 象 , 而 不 是 对 象 本 身 。 如 果 你 的 目 的 是 对 象 本 身 那 么 你 还 会 希 望 重 载 ""。数 学 函 数 :atan2,cos,sin,exp,abs,log,sqrt 如 果 没 有 abs , 那 它 可 以 从 < 或 与 单 目 负 号 或 者 减 号 组 合 中 自 动 生 成 。重 载 可 以 用 于 为 单 目 负 号 或 者 为 abs 函 数 自 动 生 成 缺 失 的 句 柄 , 而 它 们 本 身 也 可 以 独 立的 被 重 载 。( 没 错 , 我 们 知 道 abs 看 起 来 象 个 函 数 , 而 单 目 负 号 象 个 操 作 符 , 但 是 从 <strong>Perl</strong>的 角 度 而 言 它 们 的 差 别 没 这 么 大 。)反 复 ( 迭 代 ) 操 作 符 : 使 用 readline ( 在 它 从 一 个 文 件 句 柄 读 入 数 据 的 时 候 , 象 while() 里 的 ) 或 者 glob ( 当 它 用 于 文 件 聚 团 的 时 候 , 比 如 在 @files = 里 )。338

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

Saved successfully!

Ooh no, something went wrong!