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 ?
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!
In reply to Re: Useless use of string in void context at
by LanX
in thread Useless use of string in void context at
by natxo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |