in reply to print and display values
Building on NetWallah’s approach, and adding logic to handle the pre-defined limit:
#! perl use strict; use warnings; use constant LIMIT => 2; my %cats; while (<DATA>) { my ($value, $key) = split; push @{ $cats{$key} }, $value; } for my $key (sort keys %cats) { my @vals = @{ $cats{$key} }; while (@vals) { print $key; my $count = 0; while (@vals && ++$count <= LIMIT) { print ' ', shift @vals; } print "\n"; } } __DATA__ 1 cat1 2 cat1 3 cat2 4 cat3 5 cat3 6 cat1 7 cat1
Output:
12:58 >perl 1565_SoPW.pl cat1 1 2 cat1 6 7 cat2 3 cat3 4 5 12:58 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|