my %orders; while () { my ( $id, $mins ) = split /[\s,]+/; push @{$orders{$id}}, $mins if ( $id ); } for my $id ( keys %orders ) { if ( @{$orders{$id}} > 1 ) { my @times = @{$orders{$id}}; # do something with @times } } __DATA__ 096000BN, 32 096000BP, 85 096000BG, 132 096000Be, 85 096000BP, 32