in reply to Re: Accumulating a Hash from Pairwise Comparison
in thread Accumulating a Hash from Pairwise Comparison
#!/usr/bin/perl -w use strict; use Data::Dumper; my %main = ( 'main1' => {'m1sec1'=> ['A','B','C'],}, 'main2' => {'m2sec1'=> ['D','E','F']} ); my %seed = ( 'seed' => {'seed1'=> ['X','Y','Z']},); my @sd = keys(%seed); OUTER: foreach my $sd ( @sd ) { foreach my $sdsub ( sort keys %{$seed{$sd}} ) { foreach my $valseed ( @{$seed{$sd}{$sdsub}} ) { #-- foreach my $mn ( keys %main ) { foreach my $msec ( sort keys %{$main{$mn}} ) { # Create hash if it doesn't exist. $seed{$mn."-join"} ||= {}; # Create array if it doesn't exist. $seed{$mn."-join"}{$sdsub} ||= []; my $store = $seed{$mn."-join"}{$sdsub}; # I want to push the new hash in the %seed key set # (updating them) # So that later it can be called again recursively my $tmpstr = $mn."-join"; push @sd, $tmpstr; foreach my $valmain( @{$main{$mn}{$msec}} ) { push @$store, $valmain.$valseed; last OUTER if (length($valmain.$valseed) == 4); # length equal 4 here so that we can # capture str with length 3 (?) } } } } } } print scalar(keys %seed),"\n"; print Dumper \%seed;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Accumulating a Hash from Pairwise Comparison
by ikegami (Patriarch) on Sep 08, 2005 at 14:36 UTC |