my %data; foreach my $file (@file_list) { open (INPUT, $file) || warn "Could not read $file\n"; while () { chomp; my ($start,$end,$name) = split (/,/); push (@{$data{$name}}, "$start,$end"); } close (INPUT); } foreach (sort keys %data) { print "@{$data{$_}},$_\n"; }