作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Perl 中有一个程序,我正在研究需要多个键的地方,以及一种为每个键提供多个值的方法,然后根据是否读取它们并将它们写入外部文件key 匹配用户输入标准输入的内容。我浏览了几个站点,发现在读取数组的哈希值方面有些有用的信息,但不能将它们写出来,而且我还需要能够在外部文件中添加到数组中。
这可能吗?
编辑:
有没有办法可以用初学者 Perl 来完成?我是初学者。数组的散列似乎是使其工作的最佳方法,但我真正需要的是一种方法来显示同一个键的多个值,同时只显示一次键。
最佳答案
查看 Data::Dumper .
例如,这个微观脚本:
#!/bin/perl -w
use 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 -w
use strict;
use Data::Dumper;
use FileHandle;
my $file = "data.out";
{
my(%hash);
$hash{key1} = [ 1, "b", "c" ];
$hash{key2} = [ 4.56, "g", "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',
'g',
'2008-12-16 19:10 -08:00'
],
'key1' => [
1,
'b',
'c'
]
};
Input: $hashref = {
'key2' => [
'4.56',
'g',
'2008-12-16 19:10 -08:00'
],
'key1' => [
1,
'b',
'c'
]
};
key1: 1 b c
key2: 4.56 g 2008-12-16 19:10 -08:00
关于perl - 如何写出或读入 Perl 散列的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/373520/
我是一名优秀的程序员,十分优秀!