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.

print "$role=$HoH{$family}{$role} ";}print "\n";}9.5 函 数 的 散 列在 使 用 <strong>Perl</strong> 书 写 一 个 复 杂 的 应 用 或 者 网 络 服 务 的 时 候 , 你 可 能 需 要 给 你 的 用 户 制 作 一 大 堆命 令 供 他 们 使 用 。 这 样 的 程 序 可 能 有 象 下 面 这 样 的 代 码 来 检 查 用 户 的 选 择 , 然 后 采 取 相 应 的动 作 :if ($cmd =~ /^exit$/i) { exit }elsif ($cmd =~ /^help$/i) { show_help() }elsif ($cmd =~ /^watch$/i) { $watch = 1 }elsif ($cmd =~ /^mail$/i) { mail_msg($msg) }elsif ($cmd =~ /^edit$/i) { $edited++; editmsg($msg); }elsif ($cmd =~ /^delete$/i) { confirm_kill() }else {warn "Unknown command: `$cmd'; Try `help' next time\n";}你 还 可 以 在 你 的 数 据 结 构 里 保 存 指 向 函 数 的 引 用 , 就 象 你 可 以 存 储 指 向 数 组 或 者 散 列 的 引 用一 样 :%HoF = (# Compose a hash of functionsexit => sub { exit },help=> \&show_help,watch => sub { $watch = 1 },mail => sub { mail_msg($msg) },257

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

Saved successfully!

Ooh no, something went wrong!