while () { chomp; my($key, $data) = split "\t", $_, 2; push @{$R{$key}}, $data; } #### foreach my $key (keys %R) { open my $fh, '>', "$key.out" or die "Cannot open file $key.out: $!"; foreach my $row (@{$R{$key}}) { print $fh "$key\t$row\n"; } }