Somewhat late, but putting it all together, this is one solution:
use Modern::Perl; use List::Util qw/ max sum /; use autodie; open my $fh1, '<', 'LookingForTheseNumbersList'; chomp ( my @wanted = <$fh1> ); close $fh1; open my $fh2, '<', 'NumbersList'; my %found; while ( <$fh2> ) { if ( /(\d+)\s+(\d+)/ and $1 ~~ @wanted ) { push @{ $found{$1} }, $2; } } close $fh2; for my $k ( sort { $a <=> $b } keys %found ) { my @nums = @{ $found{$k} }; say "All($k): " . join ' ', @nums; # Do some calculations, eg: say "Max($k): " . max @nums; say "Sum($k): " . sum @nums; say "Avg($k): " . ( sum @nums ) / @nums; say ''; # Print newline }
Update; removed '.tmp' suffix from input file names
In reply to Re: Generating a list of numbers from other lists
by Not_a_Number
in thread Generating a list of numbers from other lists
by mlebel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |