#!/usr/bin/perl # use strict; use warnings; my @list_of_items = qw(a b c a d b b z f); my %seen; foreach my $item (@list_of_items) { if($seen{$item}++) { # do what is appropriate for items that have already been seen print "saw an $item again\n"; } else { # do what is appropriate for items that have not already been seen print "saw an $item\n"; } } foreach my $item (sort keys %seen) { print "$item is in \@list_of_items $seen{$item} " . (($seen{$item} > 1)?"times\n":"time\n"); }