in reply to Getting Pairs of 2nd-ary Keys in HoHoA

ok, clear, i see what you want:
(probably can be done better, but works :)
my $aant = (keys %HoHoA); for (my $i = 1; $i<= $aant; $i++) { foreach my $keyA(sort keys %{$HoHoA{'set'.$i}}) { for (my $y = $i+1; $y<= $aant; $y++) { foreach my $keyB(sort keys %{$HoHoA{'set'.$y}}) { print "$keyA - $keyB\n"; } } } }
#output:
key1_set1 - key1_set2 key1_set1 - key2_set2 key1_set1 - key1_set3 key1_set1 - key2_set3 key1_set1 - key1_set4 key1_set1 - key2_set4 key1_set1 - key3_set4 key2_set1 - key1_set2 key2_set1 - key2_set2 key2_set1 - key1_set3 key2_set1 - key2_set3 key2_set1 - key1_set4 key2_set1 - key2_set4 key2_set1 - key3_set4 key1_set2 - key1_set3 key1_set2 - key2_set3 key1_set2 - key1_set4 key1_set2 - key2_set4 key1_set2 - key3_set4 key2_set2 - key1_set3 key2_set2 - key2_set3 key2_set2 - key1_set4 key2_set2 - key2_set4 key2_set2 - key3_set4 key1_set3 - key1_set4 key1_set3 - key2_set4 key1_set3 - key3_set4 key2_set3 - key1_set4 key2_set3 - key2_set4 key2_set3 - key3_set4
"We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise." - Larry Wall.

Replies are listed 'Best First'.
Re^2: Getting Pairs of 2nd-ary Keys in HoHoA
by neversaint (Deacon) on Jul 21, 2005 at 07:17 UTC
    Thanks so much jbrugger. I don't mean to trouble you much. But how can I make these parts:
    %{$HoHoA{'set'.$i}}
    and this:
    %{$HoHoA{'set'.$y}}
    Be made more flexible. Because this secondary key (key1_set1 ..etc) can be "totally random". I wrote it that way for easiness in explaining. Really hope to hear from you again.
Re^2: Getting Pairs of 2nd-ary Keys in HoHoA
by neversaint (Deacon) on Jul 21, 2005 at 06:18 UTC
    Yes jbrugger, It should be there. (I'll try to draw a diagram for that). I hope this drawing won't complicate the intention:
    set1' => { 'key1_set1' => [ 'some arrays' ], --->- 'key2_set1' => [ 'some arrays' ], +++>|+++>+ }, | + | + 'set2' => { | + 'key1_set2' => [ 'some arrays' ], <---|<+++> 'key2_set2' => [ 'some arrays' ], <---|<+++> }, | + | + etc...until 'set3' => { | + 'key1_set3' => [ 'some arrays' ], <---|<++++ ###> 'key2_set3' => [ 'some arrays' ], <---|<++++ ###> }, | + # | + # 'set4' => { | + # 'key1_set4' => [ 'some arrays' ], <---|<++++ <### 'key2_set4' => [ 'some arrays' ], <---|<++++ <### 'key3_set4' => [ 'some arrays' ], <---|<++++ <### },