我是Perl的新手,我正在尝试使用哈希。我有一个哈希哈希如下:
%HoH =
(
"Test1" => { checked => 1, mycmd => run1 },
"Test2" => { checked => 1, mycmd => run2 },
)
使用下面的代码我将得到下面给出的输出:
for $family ( keys %HoH )
{
print "$family: ";
for $role ( keys %{ $HoH{$family} } )
{
print "$role=$HoH{$family}{$role} ";
}
print "\n";
}
输出:
Test1: checked=1 mycmd=run1
Test2: checked=1 mycmd=run2
我的问题是,如何访问个人checked
& cmd
分开?通过单独访问,我可以比较检查的内容并完成我的任务。
答案 0 :(得分:3)
直接使用关键字是非常直接的:
%HoH =
(
"Test1" => { checked => 1, cmd => run1 },
"Test2" => { checked => 1, cmd => run2 },
);
if ($HoH{"Test1"}{checked}) {
print "Test1 is Checked with cmd: " . $HoH{"Test1"}{cmd} . "\n";
}
使用cmd检查Test1:run1
我是否正确理解了您的问题?
答案 1 :(得分:1)
for my $family ( keys %HoH )
{
if ($HoH{$family}->{checked}) {
# Do what you want...
}
}