in reply to Useless use of string in void context at

> What is wrong with my crappy script? ;-)

You don't print and Perl is warning you that it's a Useless use of string in void context giving you even the line number.

     "no matches for $cust\n";  # <--- Wot ?

edit

FWIW I would have collected all results in an array (and other changes improving readability)

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 @matches = grep { /$cust/ } @test_svc ) { print "$cust matches:\t", (join "\t", @matches) ,"\n"; } else { print "no matches for $cust\n"; } }

Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Je suis Charlie!