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.

B::Deparse 是 一 个 很 好 的 打 印 机 , 它 可 以 揭 开 <strong>Perl</strong> 代 码 神 秘 的 面 纱 , 帮 助 你 理 解 优 化器 为 你 的 代 码 做 了 那 些 转 换 。 比 如 , 下 面 的 东 西 显 示 了 <strong>Perl</strong> 给 各 种 构 造 使 用 了 什 么 缺 省 :% perl -MO=Deparse -ne 'for (1 .. 10) { print if -t }'LINE: while (defined($_ = )) {foreach $_ (1 .. 10) {print $_ if -t STDIN;}}-p 开 关 给 你 的 程 序 加 圆 括 号 , 这 样 你 就 可 以 看 到 <strong>Perl</strong> 对 优 先 级 的 看 法 :%perl -MO=Deparse, -p -e 'print $a ** 3 + sqrt(2) /10 ** -2 ** $c'print((($a ** 3) + (1.4142135623731 / (10 ** (-(2 ** %c))))));你 可 以 使 用 -p 看 看 哪 个 优 先 代 换 的 字 串 编 译 到 代 码 里 :%perl -MO=Deparse, -q -e '"A $name and some @ARGV\n"''A ' . $name . ' and some ' . join($", @ARGV) . "\n";下 面 的 例 子 显 示 了 <strong>Perl</strong> 是 怎 样 把 一 个 三 部 分 的 for 循 环 变 成 一 个 while 循 环 :%perl -MO=Deparse -e 'for ($i=0;$i

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

Saved successfully!

Ooh no, something went wrong!