如何写出或读入数组的Perl哈希?

如何写出或读入数组的Perl哈希?,第1张

概述我在Perl中有一个程序我正在处理我需要多个键的位置,以及为每个键赋予多个值的方法,并通过能够读取它们并将它们写入外部文件来实现,具体取决于是否键匹配人输入的标准输入.我查看了几个站点并发现信息在读取数组哈希时有些有用,但没有写出来,我还需要能够在外部文件中添加到数组中. 这可能吗? 编辑: 有没有办法可以用启动器Perl完成?我是初学者.数组的哈希似乎是使其工作的最佳方式,但我真正需要的是一种方 我在Perl中有一个程序我正在处理我需要多个键的位置,以及为每个键赋予多个值的方法,并通过能够读取它们并将它们写入外部文件来实现,具体取决于是否键匹配人输入的标准输入.我查看了几个站点并发现信息在读取数组哈希时有些有用,但没有写出来,我还需要能够在外部文件中添加到数组中.

这可能吗?

编辑:
有没有办法可以用启动器Perl完成?我是初学者.数组的哈希似乎是使其工作的最佳方式,但我真正需要的是一种方法来显示同一个键的多个值,同时只显示一次键.

解决方法 查看 Data::Dumper.

例如,这个微观脚本:

#!/bin/perl -wuse strict;use Data::Dumper;my(%hash);$hash{key1} = [ 1,"b","c" ];$hash{key2} = [ 4.56,"g","2008-12-16 19:10 -08:00" ];print Dumper(\%hash);

生成此输出,可以清楚地编辑:

$VAR1 = {          'key2' => [                      '4.56','g','2008-12-16 19:10 -08:00'                    ],'key1' => [                      1,'b','c'                    ]        };

还可以对其进行评估以将数据读回程序.

扩展示例以显示读入和打印输出…请注意,代码位于两个主要块中,块之间唯一的共同变量是文件名.

#!/bin/perl -wuse strict;use Data::Dumper;use fileHandle;my $file = "data.out";{    my(%hash);    $hash{key1} = [ 1,"c" ];    $hash{key2} = [ 4.56,"2008-12-16 19:10 -08:00" ];    my $str = Data::Dumper->Dump([ \%hash ],[ '$hashref' ]);    print "Output: $str";    my($out) = new fileHandle ">$file";    print $out $str;    close $out;}{    my($in) = new fileHandle "<$file";    local($/) = "";    my($str) = <$in>;    close $in;    print "input: $str";    my($hashref);    eval $str;    my(%hash) = %$hashref;    foreach my $key (sort keys %hash)    {        print "$key: @{$hash{$key}}\n";    }}

该脚本的输出是:

Output: $hashref = {         'key2' => [                     '4.56','2008-12-16 19:10 -08:00'                   ],'key1' => [                     1,'c'                   ]       };input: $hashref = {         'key2' => [                     '4.56','c'                   ]       };key1: 1 b ckey2: 4.56 g 2008-12-16 19:10 -08:00
总结

以上是内存溢出为你收集整理的如何写出或读入数组的Perl哈希?全部内容,希望文章能够帮你解决如何写出或读入数组的Perl哈希?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存