免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4766 | 回复: 9
打印 上一主题 下一主题

hash变量的保存! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-21 10:58 |只看该作者 |倒序浏览
请教一个问题,我创建的一个hash变量,里面即有标量,又有数组,还有hash的hash.请问这个hash变量我要怎么保存,以方便下次调用?
如下:
      my @test_array = (1..;
       my %test_hah = {
                       'T1'=>'test1',
                        'T2'=>\@test_array,
                         'S8'=> {
                             ' T5'=>'test',


                     }



                                     }


多谢!

论坛徽章:
0
2 [报告]
发表于 2009-10-21 11:05 |只看该作者
原帖由 lhep041 于 2009-10-21 10:58 发表
请教一个问题,我创建的一个hash变量,里面即有标量,又有数组,还有hash的hash.请问这个hash变量我要怎么保存,以方便下次调用?
如下:
      my @test_array = (1..;
       my %test_hah = {
        ...


你创建的是一个匿名hash,用$hash={}这个标量形式来存放。

论坛徽章:
0
3 [报告]
发表于 2009-10-21 11:07 |只看该作者
原帖由 lhep041 于 2009-10-21 10:58 发表
请教一个问题,我创建的一个hash变量,里面即有标量,又有数组,还有hash的hash.请问这个hash变量我要怎么保存,以方便下次调用?
如下:
      my @test_array = (1..8);
       my %test_hah = {
        ...


访问的时候用:
$hash->{t1}
$hash->{t2}->[0]
$hash->{t3}->{key1}

这种->的形式。
见perldoc perldata

论坛徽章:
0
4 [报告]
发表于 2009-10-21 11:17 |只看该作者

回复 #3 兰花仙子 的帖子

多谢,回帖,这个变量随着程式的增加,会不断的写变量进这个hash.我程试运行完后,我想把结果保存下来,以方便我下次查看。我以前采用的方法是,把这个hash变量存在一个文件里,如下:
while (($team,$rank)=each(%test_hash)){

print OUT_FILE "\$test_hash\{\'$team\'\} \= \'$rank\'\;\n";

}
我程式下次用时,再
do OUT_FILE的文件,就可以把这些值调出来。但是其中有hash的数组以及hash的hash时,不知道如何处理,同时也希望大家给我提供一个好的方法,来保存hash变量。

论坛徽章:
0
5 [报告]
发表于 2009-10-21 11:21 |只看该作者

回复 #4 lhep041 的帖子

hash里的数据,你可以直接增或删或修改呀,不用写进一个文件再去do吧。。

论坛徽章:
0
6 [报告]
发表于 2009-10-21 11:25 |只看该作者

回复 #5 兰花仙子 的帖子

我是希望,下次打开的时候,就可以看到上次运行的结果,还不是每次都要运行。我打开时只要do 一次上次运行的结果,就可以知道,上次运行的结果,以及状态?请问有好的方法保存hash变量吗?我现在的方法是把hash变量放在一个文件里,但是不知道如何区分。hash的数组,hash的hash以方便我保存在文件。

论坛徽章:
0
7 [报告]
发表于 2009-10-21 11:30 |只看该作者

回复 #6 lhep041 的帖子

哦,明白你意思了。
  1. use MLDBM;
复制代码

论坛徽章:
0
8 [报告]
发表于 2011-06-15 15:55 |只看该作者
回复 6# lhep041


use Data:umper;
$data = {
    a => 1,
    b => 2,
    c => {
        d => 3,
        e => 4,
        f => [5,6,7],
    }
};
my $fh;
open $fh,">:utf8", "f:/tmp.txt";
print $fh Dumper $data;
close( $fh );

论坛徽章:
0
9 [报告]
发表于 2011-06-15 16:19 |只看该作者
use Storable;

论坛徽章:
0
10 [报告]
发表于 2011-06-15 19:45 |只看该作者
use JSON;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP