in reply to Re: Population of HoAoA based on file contents
in thread Population of HoAoA based on file contents
I'm going to deal with just this section, I think once you understand/update what is happening here, everything else you have will work.
First, I think that you understand that having an undefined $id as a hash key won't work. And to fix this, you want to just rearrange your for loops.my $id; # ?? foreach my $window ( @{ $data{$id} } ) { # only pass windows with > min number of stats (i.e. >1 for now), an +d # of course we also ignore any 'undef' windows. next unless scalar @{ $data{$id} }[$window] >= 2; foreach my $individual ( keys(%data) ) {
foreach my $id ( keys %data ){ foreach my $window ( @{$data{$id}} ){
Just this will get you much further. There is still a problem with the second loop though, at least in how you use $window in the subsequent code. You are attempting to use $window as an index, but it's not an index. Since you have experience using Data::Printer, I suggest going ahead and checking out what $window is.
Now, the way to fix things with the fewest number of overall edits is to change the second for loop.
Then in your method calls, just change those to align with the scalar test above:foreach my $id ( keys %data ){ foreach my $window ( 0 .. $#{$data{$id}} ){ next unless scalar @{ $data{$id}[$window] } >= 2;
I hope that helps.\@{ $data{$id}[$window] }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Population of HoAoA based on file contents
by iangibson (Scribe) on May 24, 2012 at 19:53 UTC | |
by state-o-dis-array (Hermit) on May 25, 2012 at 14:35 UTC | |
by iangibson (Scribe) on May 25, 2012 at 17:05 UTC | |
by iangibson (Scribe) on Jun 01, 2012 at 16:08 UTC | |
by iangibson (Scribe) on Jun 11, 2012 at 16:43 UTC |
In Section
Seekers of Perl Wisdom