I strongly recommend that you use strictures (use strict; use warnings;). In this case you would have received a compile error complaining about using a 'bare word'.
You should also use the three parameter version of open and you should use lexical file handles. I've updated your code with these changes below:
use warnings; use strict; my $file = "D:/perl/02.log"; open my $inFile, '<', $file or die "cant open $file: $!"; # Look for errors while (<$inFile>) { if (/^Status : ERRORS|\d+ failed/) { print "There are build errors (see line $.)\n"; exit 0; } }
Note that I also combined the commented out 'Status : ERRORS' test with the test you were using so that either string will be detected and I added the line number where the error line was found to the build errors message.
In reply to Re: Find a pattern
by GrandFather
in thread Find a pattern
by amvarma
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |