in reply to flag function
The part you're asking about is actually fine. On the other hand, just about everything else looks wrong to me. Let's go over the code.
Always use use strict; use warnings qw( all );!!!
open TEST,"@ARGV[0]";
should be
open(my $TEST, "<", $ARGV[0]) or die("Can't open \"$ARGV[0]\": $!\n");
should be$flag = "ON" ... $flag = "OFF"
my $looking = 1; ... $looking = 0;
while (<TEST>)
should be
while (<>)
<> is short for <ARGV>. ARGV is a specical file handle that reads from the files named in the argument list or STDIN if none.
if (/test/ and $flag eq "ON")
should be
if ($looking && /test/)
should beprint "start";
orprint "start\n";
say "start";
is useless if you don't check if it succeeded.close TEST;
use strict; use warnings qw( all ); my $looking = 1; while (<>) { if ($looking && /test/) { print "start\n"; $looking = 0; } }
The one problem left is that you read "half" the file for nothing. Let's avoid that!
use strict; use warnings qw( all ); while (<>) { if (/test/) { print "start\n"; last; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: flag function
by mr_mischief (Monsignor) on Jul 11, 2018 at 22:15 UTC | |
by ikegami (Patriarch) on Jul 12, 2018 at 04:56 UTC |