这可能吗?
编辑:
有没有办法可以用启动器Perl完成?我是初学者.数组的哈希似乎是使其工作的最佳方式,但我真正需要的是一种方法来显示同一个键的多个值,同时只显示一次键.
例如,这个微观脚本:
#!/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哈希?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)