$ perl -Mstrict -Mwarnings -E '
my %a=();
$a{1}{"a"}{"A"}="FIRST";
$a{1}{"c"}{"B"}="THIRD";
$a{1}{"b"}{"C"}="SECOND";
foreach my $k1 ( sort keys %a ) {
foreach my $k2 ( sort keys %{$a{$k1}} ) {
foreach my $k3 ( sort keys %{$a{$k1}{$k2}} ) {
print "$a{$k1}{$k2}{$k3}\n";
}
}
}
'
FIRST
SECOND
THIRD
####
$ perl -Mstrict -Mwarnings -E '
my @items_to_print_outside_loop;
my %a=();
$a{1}{"a"}{"A"}="FIRST";
$a{1}{"c"}{"B"}="THIRD";
$a{1}{"b"}{"C"}="SECOND";
foreach my $k1 ( sort keys %a ) {
foreach my $k2 ( sort keys %{$a{$k1}} ) {
foreach my $k3 ( sort keys %{$a{$k1}{$k2}} ) {
push @items_to_print_outside_loop, "$a{$k1}{$k2}{$k3}";
}
}
}
print join("\n", @items_to_print_outside_loop), "\n";
'
FIRST
SECOND
THIRD
##
##
$ perl -Mstrict -Mwarnings -E '
sub print_outside_loop { print "@_\n" }
my %a=();
$a{1}{"a"}{"A"}="FIRST";
$a{1}{"c"}{"B"}="THIRD";
$a{1}{"b"}{"C"}="SECOND";
foreach my $k1 ( sort keys %a ) {
foreach my $k2 ( sort keys %{$a{$k1}} ) {
foreach my $k3 ( sort keys %{$a{$k1}{$k2}} ) {
print_outside_loop($a{$k1}{$k2}{$k3});
}
}
}
'
FIRST
SECOND
THIRD