my @a = map { [ split // ] } qw( book reboot rocket ); my %locs; for my $i (0..$#a) { my $row = $a[$i]; for my $j (0..$#$row) { push @{ $locs{$a[$i][$j]} }, "$i,$j"; } } for my $c (sort keys %loc) { next if @{ $loc{$c} } <= 1; print("$c: ", join(' ', @{ $locs{$c} }), "\n"); }