我设法用子程序
创建一个哈希数据集my %check_ip = (
"data1" => $ip1,
"data2" => $ip2,
"data3" => $ip3
);
'data1' => '127.0.0.1',
'data2' => '192.168.0.1',
'data3' => '192.168.1.1'
这是一个简单的哈希。 我想在这背后添加另一个键,这样就会成为哈希的哈希,看起来像
config1 =>
'data1' => '127.0.0.1',
'data2' => '192.168.0.1',
'data3' => '192.168.1.1',
最好的方法是什么?
答案 0 :(得分:2)
要创建嵌套哈希,您需要哈希引用。
my %check_ip = (
data1 => $ip1,
data2 => $ip2,
data3 => $ip3,
);
my %config = ( config1 => \%check_ip );
答案 1 :(得分:2)
#!/usr/bin/perl
use strict;
use warnings;
my $ip1='127.0.0.1';
my $ip2='192.168.0.1';
my $ip3='192.168.1.1';
my %check_ip = (
config1 => { "data1" => $ip1,
"data2" => $ip2,
"data3" => $ip3, },
);
访问如下:
print $check_ip{config1}{data1}; #output 127.0.0.1
答案 2 :(得分:1)
由于散列键只能有一个值,因此需要将嵌套散列存储为散列引用,这是大括号{}
用于:
my %check_ip = (
config1 => { "data1" => $ip1,
"data2" => $ip2,
"data3" => $ip3, },
);
有关Perl数据结构的更多信息,请参阅perldoc perldsc
。