zoukankan      html  css  js  c++  java
  • [ Perl ] HASH 读写

    https://www.cnblogs.com/yeungchie/

    便于数据结构的存储和还原
    这里的方法是将 HASH 转为 字符串 写入文件的,再读取文件中字符串内容转为 HASH
    使用 JSON 作为数据交换格式 ( JavaScript Object Notation )

    使用 JSON 模块

    use JSON;
    

    HASH 转 JSON

    • hashToJson.pl
    # 省略一堆次要的模块声明
    
    use JSON;
    
    my %hash_data = (
        server   => "eda",
        release  => "6.10",
        memTotal => "15G",
        memRatio => "0.144396",
        cores    => "6",
        cpuRatio => "0.0145719489981785",
        time     => "1624202821",
        load     => "0.29/0.07/0.02",
    );
    say Dumper \%hash_data;
    
    my $json = new JSON;                                # 创建 JSON 对象
    my $json_data = $json->pretty->encode(\%hash_data); # 编码成 JSON 格式
    
    say Dumper $json_data;
    
    # JSON 写入
    my $file = IO::File->new('>hashToJson.txt');
    printf $file $json_data;
    $file->close;
    

    hash_data
    $VAR1 = {
    'memRatio' => '0.144396',
    'memTotal' => '15G',
    'cores' => '6',
    'cpuRatio' => '0.0145719489981785',
    'time' => '1624202821',
    'server' => 'eda',
    'release' => '6.10',
    'load' => '0.29/0.07/0.02'
    };

    json_data
    $VAR1 = '{
    "memRatio" : "0.144396",
    "memTotal" : "15G",
    "cores" : "6",
    "cpuRatio" : "0.0145719489981785",
    "time" : "1624202821",
    "server" : "eda",
    "release" : "6.10",
    "load" : "0.29/0.07/0.02"
    }
    ';

    JSON 转 HASH

    jsonToHash.pl

    # 省略一堆次要的模块声明
    
    use JSON;
    
    # JSON 读取
    my $file = new IO::File '<hashToJson.txt';
    my @file_data = <$file>;
    $file->close;
    my $json_data = join '',@file_data;
    say Dumper $json_data;
    
    # 解码
    my $hash_data = decode_json $json_data;
    say Dumper $hash_data;
    
    # Tips : 解引用 %{$hash_data}
    

    json_data
    $VAR1 = '{
    "memRatio" : "0.144396",
    "memTotal" : "15G",
    "cores" : "6",
    "cpuRatio" : "0.0145719489981785",
    "time" : "1624202821",
    "server" : "eda",
    "release" : "6.10",
    "load" : "0.29/0.07/0.02"
    }
    ';

    hash_data
    $VAR1 = {
    'time' => '1624202821',
    'release' => '6.10',
    'server' => 'eda',
    'memRatio' => '0.144396',
    'memTotal' => '15G',
    'load' => '0.29/0.07/0.02',
    'cpuRatio' => '0.0145719489981785',
    'cores' => '6'
    };

  • 相关阅读:
    kafka学习总结010 --- 实际项目中遇到的问题1
    kafka学习总结009 --- HW和LEO
    spring学习总结001 --- IOC控制反转、DI依赖注入
    kafka学习总结008 --- 生产者生产数据流程(参照源码)
    kafka学习总结007 --- 生产者Java API实例
    kafka学习总结006 --- 生产者事务
    kafka学习总结005 --- at-exactly-once语义
    kafka学习总结004 --- 生产者ISR
    kafka学习总结003 --- 生产者分区策略
    计算机基础-1(进制转换)
  • 原文地址:https://www.cnblogs.com/yeungchie/p/14933003.html
Copyright © 2011-2022 走看看