in reply to Detect Two Strings in File

my $str1 = qr(C); my $str2 = qr(X); my $alert = 0; while (<DATA>) { $alert = 1 if /$str1/; $alert = 0 if /$str2/; } print "P A N I C" if $alert; __DATA__ A B C D E F

Replies are listed 'Best First'.
Re^2: Detect Two Strings in File
by choroba (Archbishop) on Nov 05, 2014 at 21:51 UTC
    The OP didn't specify what to do if the first string isn't found. If it's not ok, set $alert to 1 before entering the loop.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re^2: Detect Two Strings in File
by CountZero (Bishop) on Nov 06, 2014 at 05:26 UTC
    Your program will not alert in case it finds the second string but never found the first string. The OP indeed did not state clearly what he wants in that case, but whatever he wants, your program cannot distinguish that case.


    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics