use strict; use warnings; my %stuff; while (my $line = <>) { chomp $line; my @word = split(q{ }, $line); push (@{$stuff{$word[0]}}, @word[1..$#word]); } for my $key (keys %stuff) { print "$key @{$stuff{$key}}\n"; }