use strict; use warnings; use autodie; my @test_svc = ( "test\@customer1.service", "test\@customer2.service", "test\@custome3.service", "test\@customer4.service", "test\@customer5.service", "test\@customer6.service", ); my @customers = qw/ customer1 customer2 customer33 customer4 customer5 /; for my $cust (@customers) { if ( my ( $matched ) = grep $_ =~ $cust, @test_svc ) { print "$cust matches:\t $matched\n"; } else { "no matches for $cust\n"; } }