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.

$string = "Here is the first line of camel.lot\n";$string .= "And here is another line, automatically appended.\n";• SELF->DESTORY当 与 捆 绑 变 量 相 关 联 的 对 象 即 将 收 集 为 垃 圾 时 会 触 发 这 个 方 法 , 尤 其 是 在 做 一 些 特 殊 处 理以 清 理 自 身 的 情 况 下 。 和 其 他 类 一 样 , 这 样 的 方 法 很 少 是 必 须 的 , 因 为 <strong>Perl</strong> 自 动 为 你 清 除垂 死 的 对 象 的 内 存 。 在 这 里 , 我 们 会 定 义 一 个 DESTROY 方 法 用 来 递 减 我 们 的 捆 绑 文 件的 计 数 :sub DESTROY {my $self = shift;confess "wrong type" unless ref $self;$count--;}我 们 还 可 以 提 供 一 个 额 外 的 类 方 法 用 于 检 索 当 前 的 计 数 。 实 际 上 , 把 它 称 做 类 方 法 还 是 对象 方 法 并 不 要 紧 , 但 是 你 在 DESTROY 之 后 就 不 再 拥 有 一 个 对 象 了 , 对 吧 ?sub count {# my $invocant = shift;$count;}你 可 以 在 任 何 时 候 把 下 面 这 个 称 做 一 个 类 方 法 :if (ScalarFile->count) {warn "Still some tied ScalarFiles sitting around somewhere...\n";}这 就 是 所 要 的 东 西 。 实 际 上 , 比 所 要 的 东 西 还 要 多 , 因 为 我 们 在 这 里 为 完 整 性 , 坚 固 性 和普 遍 美 学 做 了 几 件 相 当 漂 亮 的 事 情 。 当 然 , 更 简 单 的 TIESCALAR 类 也 是 可 能 的 。14.1.2 魔 术 计 数 变 量355

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

Saved successfully!

Ooh no, something went wrong!