Are you assuming that 'alpha' is also always the first line in the file?
Also, the posted flipflop doesn't behave the same as the OP
A simpler way to just use a flag and short circuit the regex work:
my $seen = 0;
while (<$fh>)
{
if ( !$seen and m/^alpha$/)
{
$seen = 'yes indeed';
print "true\n";
}else{
print "false\n";
}
}
Given a test file of: foo
bar
alpha
beta
gamma
delta
The results I got are:Original:
false
false
true
false
false
false
Flipflop:
Argument "" isn't numeric in numeric gt (>) at test.pl line 21, <$fh>
+line 1.
false
Argument "" isn't numeric in numeric gt (>) at test.pl line 21, <$fh>
+line 2.
false
false
true
true
true
Flag:
false
false
true
false
false
false
|