in reply to Re^5: script to grab string from log and print them in a different log
in thread script to grab string from log and print them in a different log

OK, that really helps :) Basically, it's still not working correctly because it's still not matching anything (nomatch.txt holds a backup of the entire log.) However, I'm sure we can figure this out... I would like to match all strings in this document that start with "MAL_ and end with a single quote " I have this regex but it doesn't seem to be working:
my $MAL = '^\s*"MAL_.*"\s*$';
  • Comment on Re^6: script to grab string from log and print them in a different log
  • Download Code

Replies are listed 'Best First'.
Re^7: script to grab string from log and print them in a different log
by liverpole (Monsignor) on Feb 01, 2007 at 16:46 UTC
    Okay, I think I understand your requirements better.

    How about the following ...?

    my $MAL = '"MAL_[^"]*"'; while ( <LOG> ) { while ( $_ =~ /$MAL/gi ) { print OUT $_; } }

    Now the regex is matching "MAL_ anywhere in the string, and ending with the matching quotation mark ", but containing no quotes in between.  The regular expression substring [^"] means "a character which isn't a quotation mark", and [^"]* means "any number of non-quotation mark characters".

    Is that what you want?


    s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
      Perfect! Thanks :)))))))