my %hash; while (<$fh>) { chomp; my @data = split /\s+/; push @{$hash{$data[0]}}, @data[3,4]; } for my $key (sort keys %hash) { print join(' ', $key, @{$hash{$key}}), "\n"; }