#!/usr/bin/perl use strict; use warnings; my %names; while () { chomp; my ($name, $lastThingy) = (split /,/)[0,3]; push @{$names{$name}}, $lastThingy; } foreach my $key (keys %names) { my $values = join ',', (@{$names{$key}}); print "$key,$values\n"; } __DATA__ Kim,0,0,off Kim,1,1,on Tyra,0,0,off Tyra,1,1,on Rada,0,0,zero Rada,1,1,one