use strict; my @report = qw(sqltable mike_test sarak_mike); my @file = qw(some other stuff mike_test sarak_mike); my %in_file = map{$_ =>1} @file; my $all_match = 1; foreach (@report) { if (! exists $in_file{$_}) { $all_match = 0; print "\@report value: '$_' is not in \@file.\n"; } } print "All values in \@report found in \@file\n" if $all_match;