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.

# 一 个 “ 反 转 的 逗 号 操 作 符 ”。return (pop(@foo),pop(@foo))[0];# 把 多 个 值 当 作 一 个 片 段($day, $month, $year) = (localtime)[3,4,5];2.8.1 列 表 赋 值只 有 给 列 表 赋 值 的 每 一 个 元 素 都 合 法 时 , 才 能 给 整 个 列 表 赋 值 :($a, $b, $c) = (1, 2, 3); ($map{red}, ${map{green}, $map{blue}) =(0xff0000, 0x00ff00, 0x0000ff);你 可 以 给 一 个 列 表 里 的 undef 赋 值 。 这 一 招 可 以 很 有 效 地 把 一 个 函 数 的 某 些 返 回 值 抛 弃 :($dev, $ino, undef, undef, $uid, $gid) = stat($file);最 后 一 个 列 表 元 素 可 以 是 一 个 数 组 或 散 列 :($a, $b, @rest) = split;my ($a, $b, %rest) = @arg_list;实 际 上 你 可 以 在 赋 值 的 列 表 里 的 任 何 地 方 放 一 个 数 组 或 散 列 , 只 是 第 一 个 数 组 或 散 列 会 吸 收所 有 剩 余 的 数 值 , 而 且 任 何 在 它 们 后 面 的 东 西 都 会 被 设 置 为 未 定 义 值 。 这 样 可 能 在 local 或my 里 面 比 较 有 用 , 因 为 这 些 地 方 你 可 能 希 望 数 组 初 始 化 为 空 。你 甚 至 可 以 给 空 列 表 赋 值 :() = funkshun();这 样 会 导 致 在 列 表 环 境 里 调 用 你 的 函 数 , 但 是 把 返 回 值 丢 弃 。 如 果 你 在 没 有 赋 值 ( 语 句 ) 的情 况 下 调 用 了 此 函 数 , 那 它 就 会 在 一 个 空 环 境 里 被 调 用 , 而 空 环 境 是 标 量 环 境 , 因 此 可 能 令此 函 数 的 行 为 完 全 不 同 。在 标 量 环 境 里 的 列 表 赋 值 返 回 赋 值 表 达 式 右 边 生 成 的 元 素 的 个 数 :$x = (($a,$b)=(7,7,7)); # 把 $x 设 为 3, 不 是 2$x = ( ($a, $b) = funk()); # 把 $x 设 为 funk() 的 返 回 数75

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

Saved successfully!

Ooh no, something went wrong!