use strict;
use warnings;
my %seen;
my @array = (["1", "1", "3"], ["1", "5", "6"], ["1", "1", "3"]);
my @unique = grep {! $seen{$_->[1]}++} @array;
print "@$_\n" for @array;
print "\n";
map {$_++} @$_ for @unique;
print "@$_\n" for @array;
print "\n";
####
1 1 3
1 5 6
1 1 3
2 2 4
2 6 7
1 1 3
####
use strict;
use warnings;
my %seen;
my @array = (["1", "1", "3"], ["1", "5", "6"], ["1", "1", "3"]);
my @unique = map {[@$_]} grep {! $seen{$_->[1]}++} @array;
print "@$_\n" for @array;
print "\n";
map {$_++} @$_ for @unique;
print "@$_\n" for @array;
print "\n";
print "@$_\n" for @unique;
print "\n";
####
1 1 3
1 5 6
1 1 3
1 1 3
1 5 6
1 1 3
2 2 4
2 6 7