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.

my ($self, $key, $value) = @_;push @{$self->{key}}, $value;}1;14.3.1 散 列 捆 绑 方 法这 儿 是 一 个 很 有 趣 的 捆 绑 散 列 类 的 例 子 : 它 给 你 一 个 散 列 , 这 个 散 列 代 表 用 户 特 定 的 点 文 件( 也 就 是 说 , 文 件 名 开 头 是 一 个 句 点 的 文 件 , 这 样 的 文 件 是 Unix 初 始 化 文 件 的 命 名 传 统 。)你 用 文 件 名 做 索 引 ( 除 去 开 头 的 句 点 ) 把 文 件 名 放 进 散 列 , 而 拿 出 来 的 时 候 是 点 文 件 的 内 容 。比 如 :use DotFiles;tie %dot, "DotFiles";if ( $dot{profile} =~ /MANPATH/ or$dot{login}=~ /MANPATH/ or$dot{cshrc} =~ /MANPATH/ ) {print "you seem to set your MANPATH\n";}下 面 是 使 用 我 们 捆 绑 类 的 另 外 一 个 方 法 :# 第 三 个 参 数 是 用 户 名 , 我 们 准 备 把 他 的 点 文 件 捆 绑 上 去 。tie %him, "DotFiels", "daemon";foreach $f (keys %him) {printf "daemon dot file %s is size %d\n", $f, length $him{$f};}在 我 们 的 DotFiles ? 例 子 里 , 我 们 把 这 个 对 象 当 作 一 个 包 含 几 个 重 要 数 据 域 的 普 通 散 列 来实 现 , 这 几 个 数 据 域 里 只 有 {CONTENTS} 域 会 保 存 一 般 用 户 当 作 散 列 的 东 西 。 下 面 是 此对 象 的 实 际 数 据 域 :368

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

Saved successfully!

Ooh no, something went wrong!