#!/usr/bin/perl use strict; use warnings; ; #throw way first line my %ids; #Hash of Array "$type $pos" => @ids while () { my ($id,$type,$pos) = split; push @{$ids{"$type $pos"}}, $id; } foreach my $key (sort keys %ids) { next if @{$ids{$key}} == 1; foreach my $id (@{$ids{$key}}) { print "$id $key\n"; } } =prints: 2 1 11 3 1 11 5 2 5 6 2 5 =cut __DATA__ ID Type Pos 1 1 10 2 1 11 3 1 11 4 1 15 5 2 5 6 2 5 7 2 7