S
Shashank Khanvilkar
Hi,
I have a program as shown below, which should print out all keys which
have a degree of one. For example the below program should print
(e, c) = 10
since "e" has a a degree of one. But it does not work//
$Hoh{"e"}{"c"} = 10;
$Hoh{"c"}{"f"} = 1;
$Hoh{"c"}{"d"} = 1;
foreach $n1 (keys %Hoh) {
my $deg = keys(%{$Hoh{$n1}});
# print "deg[$n1] = $deg\n";
if ($deg eq 1){
$n2 = %{$aa{$n1}};
print "($n1, $n2) = $aa{$n1}{$n2}\n";
}
}
However if i use the below program it works.
$Hoh{"e"}{"c"} = 10;
$Hoh{"c"}{"f"} = 1;
$Hoh{"c"}{"d"} = 1;
foreach $n1 (keys %Hoh) {
my $deg = keys(%{$Hoh{$n1}});
# print "deg[$n1] = $deg\n";
if ($deg eq 1){
foreach $n2 (sort keys %{$Hoh{$n1}}) {
print "($n1, $n2) = $aa{$n1}{$n2}\n";
}
}
}
I will appreciate if someone can correct my first program. This way, I
will avoid using an extra for loop.
Thanks
Shashank
I have a program as shown below, which should print out all keys which
have a degree of one. For example the below program should print
(e, c) = 10
since "e" has a a degree of one. But it does not work//
$Hoh{"e"}{"c"} = 10;
$Hoh{"c"}{"f"} = 1;
$Hoh{"c"}{"d"} = 1;
foreach $n1 (keys %Hoh) {
my $deg = keys(%{$Hoh{$n1}});
# print "deg[$n1] = $deg\n";
if ($deg eq 1){
$n2 = %{$aa{$n1}};
print "($n1, $n2) = $aa{$n1}{$n2}\n";
}
}
However if i use the below program it works.
$Hoh{"e"}{"c"} = 10;
$Hoh{"c"}{"f"} = 1;
$Hoh{"c"}{"d"} = 1;
foreach $n1 (keys %Hoh) {
my $deg = keys(%{$Hoh{$n1}});
# print "deg[$n1] = $deg\n";
if ($deg eq 1){
foreach $n2 (sort keys %{$Hoh{$n1}}) {
print "($n1, $n2) = $aa{$n1}{$n2}\n";
}
}
}
I will appreciate if someone can correct my first program. This way, I
will avoid using an extra for loop.
Thanks
Shashank