http://www.perlmonks.org?node_id=879378


in reply to Problem in Commenting lines in perl

It's having problem to the 'foreach loop'. It checks the key term and print the content twice. To avoid this kind of circumstance, you may use the ‘next’ statement when you match string found.

while( <$in>) { foreach $ip(@ip) { print $out "#" and next if(/\b$ip\b/i && !/^#/); #only one # at fro +nt of line } print $out $_; }

Replies are listed 'Best First'.
Re^2: Problem in Commenting lines in perl
by GrandFather (Saint) on Dec 28, 2010 at 06:53 UTC

    Except that prints each line once for each match word if none of the matches are found in a line, and in any case once for each mismatched word before a match is found.

    True laziness is hard work
Re^2: Problem in Commenting lines in perl
by vr786 (Sexton) on Dec 28, 2010 at 06:59 UTC

    Thank you k_manimuthu, its working fine.