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 " is on ", join (" and ", @{ $TV{$family}{nights} }), "\n";print "its members are:\n";for $who ( @{ $TV{$family}{members} } ) {print " $who->{name} ($who->{role}), age $who->{age}\n";}print "children: ";print join (", ", map { $_->{name} } @{ $TV{$family}{kids} } );print "\n\n";}9.7 保 存 数 据 结 构如 果 你 想 保 存 你 的 数 据 结 构 以 便 以 后 用 于 其 他 程 序 , 那 么 你 有 很 多 方 法 可 以 用 。 最 简 单 的 方法 就 是 使 用 <strong>Perl</strong> 的 Data::Dumper 模 块 , 它 把 一 个 ( 可 能 是 自 参 考 的 ) 数 据 结 构 变 成一 个 字 串 , 你 可 以 把 这 个 字 串 保 存 在 程 序 外 部 , 以 后 用 eval 或 者 do 重 新 组 成 :use Data::Dumper;$Data::Dumper::Purity = 1;# 因 为 %TV 是 自 参 考 的open (FILE, "> tvinfo.perldata") or die "can't open tvinfo: $!";print FILE Data::Dumper->Dump([\%TV], ['*TV']);close FILE or die "can't close tvinfo: $!";其 他 的 程 序 ( 或 者 同 一 个 程 序 ) 可 以 稍 后 从 文 件 里 把 它 读 回 来 :open (FILE, "< tvinfo.perldata") or die "can't open tvinfo: $!";undef $/;eval ;# 一 次 把 整 个 文 件 读 取 进 来# 重 新 创 建 %TVdie "can't recreate tv data from tvinfo.perldata: $@" if $@;close FILE or die "can't close tvinfo: $!";263

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

Saved successfully!

Ooh no, something went wrong!