%a = ( "KEY" => {
"p1" => 1 , [1223],
"p1" => 2 , [2323],
"p1" => 3 , [2353],
}
);
Run Code Online (Sandbox Code Playgroud)
我想生成这样的结构.我尝试过这段代码:
@array = ( 1223 , 2323 ,2353 );
$count = 0;
foreach my $i (@array) {
$a{"KEY"} => { "p1" => $count , [$i] };
$count++;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能创建这样的哈希?
由于散列只能具有唯一键,因此无法实现上述数据结构.您应该将键的值替换为KEYARRAYREF而不是HASHREF.
以下程序似乎使用ARRAYREF执行您想要的操作.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @array = ( 1223, 2323, 2353 );
my ( $count, %hash ) = (0);
for (@array) {
push @{ $hash{KEY}->{SUBKEY} }, { p1 => $count, v2 => $array[$count] };
$count++;
}
print Dumper \%hash;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1181 次 |
| 最近记录: |