in reply to How to code this?
Something like this:
#!/usr/lib/perl use strict; use warnings; my $kPoolSize = 2; my %hash = ( 3 => [ 1 .. 2 ], 4 => [ 2 .. 2 ], 6 => [ 4 .. 5 ], 7 => [ 2 .. 6 ], 8 => [ 1 .. 3 ], 11 => [ 5 .. 10 ], ); my @indexes = sort {$a <=> $b} keys %hash; my @pool = splice @indexes, 0, $kPoolSize; while (@pool == $kPoolSize) { my $poolSum; for my $poolEntry (@pool) { $poolSum += $_ for @{$hash{$poolEntry}}; } print "Pool @pool sum: $poolSum\n"; shift @pool; push @pool, shift @indexes if @indexes; }
Prints:
Pool 3 4 sum: 5 Pool 4 6 sum: 11 Pool 6 7 sum: 29 Pool 7 8 sum: 26 Pool 8 11 sum: 51
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to code this?
by BrowserUk (Patriarch) on Nov 15, 2011 at 00:34 UTC | |
by GrandFather (Saint) on Nov 15, 2011 at 03:00 UTC | |
by BrowserUk (Patriarch) on Nov 15, 2011 at 03:40 UTC | |
by locked_user sundialsvc4 (Abbot) on Nov 15, 2011 at 02:49 UTC | |
by BrowserUk (Patriarch) on Nov 15, 2011 at 03:51 UTC | |
by admiral_grinder (Pilgrim) on Nov 15, 2011 at 14:54 UTC | |
by BrowserUk (Patriarch) on Nov 15, 2011 at 17:43 UTC | |
|
Re^2: How to code this?
by choroba (Cardinal) on Nov 15, 2011 at 00:15 UTC |