my @array; push @{@array},["1", "1", "3"]; push @{@array},["1", "5", "6"]; push @{@array},["1", "1", "3"]; my @unique = (); my %seen = (); foreach my $elem ( @array) { next if $seen{ $elem }++; push @unique, $elem; } for my $i (0 .. $#unique) { print "\n$unique[$i][0] $unique[$i][1] $unique[$i][2]"; } print "\n";