use strict; use warnings; my %freq; foreach my $file (@files) { open my $infh, '<', $file or die $!; while (<$infh>) { chomp; my ($freq, $data) = split /\s+/, $_; push @{$freq{$freq}}, $data; } } foreach my $k (sort {$a <=> $b} keys %freq) { print "$k @{$freq{$k}}\n"; }