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.

if 语 句 比 较 直 接 了 当 。 因 为 BLOCK 们 总 是 用 花 括 弧 包 围 , 所 以 从 不 会 出 现 混 淆 哪 一 个 if和 else 或 elsif 有 效 的 情 况 。 在 给 出 的 任 意 if/elsif/else BLOCK 里 , 只 有 第 一 个 条 件BLOCK 才 执 行 。 如 果 没 有 一 个 为 真 , 而 且 存 在 else BLOCK, 则 执 行 之 。 一 个 好 习 惯 是在 一 个 elsif 链 的 最 后 放 上 一 个 else 以 捕 捉 漏 掉 的 情 况 。如 果 你 用 unless 取 代 if, 那 么 它 的 测 试 是 相 反 的 , 也 就 是 说 :unless ($x == 1) ...等 效 于if($x != 1) ...或 者 是 难 看 的 :if(!($x == 1)) ...在 控 制 条 件 里 定 义 的 变 量 , 其 范 围 只 扩 展 到 其 余 条 件 的 范 围 , 包 括 任 何 随 后 可 能 存 在 的 elsif和 else 子 句 , 但 是 不 会 超 过 这 个 范 围 :if (( my $color = ) =~ /red/i ) {$value = 0xff0000;}else ($color =~ /green/i) {$value = 0x00ff00;}else if ($color =~ /blue /i ){$value = 0x0000ff;}else {warn "unknown RGB component `$color', using black instead\n";$value = 0x000000;}116

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

Saved successfully!

Ooh no, something went wrong!