# loop over the array values, not indexes, making $key # refer to each one in turn foreach my $key (@hydrogen_split) { # chomp is probably not needed if your data is already # in an array. chomp removes the end-of-line character # from a line of input # use the %hydrogen_split hash to keep track of which # keys were seen how many times $hydrogen_split{$key}++ } # print in sorted order each key that was encountered more than once foreach my $key ( sort grep { $hydrogen_split{$key} > 1 } keys %hydrogen_split ) { print "$key\n"; }