Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^4: Match 2 strings in same line

by hmb104 (Sexton)
on Nov 25, 2013 at 17:21 UTC ( #1064257=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Match 2 strings in same line
in thread Match 2 strings in same line

my $logsIncDate = `date +"%b %d %H"`; my @eigrp = (); open SwitchLogs, $logFile or die "Could not open $logFile: $!"; while (<SwitchLogs>) { chomp; my $line = $_; if($line =~ m/$logsIncDate/ && $line =~ m/SW_MATM-4-MACFLAP_NOTIF/ +){ push(@eigrp, "$line\n"); $sendemail = 1; } }

All I want to do is to match the date/time in a line that contain the specified string. So the above code should catch the below one line:

Nov 25 10:59:13 10.1.162.11/10.1.162.11 1410: Nov 25 16:59:12.724: %SW +_MATM-4-MACFLAP_NOTIF: Host 30ff.0c00.d4be in vlan 162 is flapping be +tween port Fa0/13 and port Fa0/10


Comment on Re^4: Match 2 strings in same line
Select or Download Code
Re^5: Match 2 strings in same line
by kennethk (Monsignor) on Nov 25, 2013 at 17:29 UTC
    The result of `date +"%b %d %H"` has a trailing newline, which is not present in your string. You need to remove that, perhaps with chomp:
    chomp(my $logsIncDate = `date +"%b %d %H"`);

    Also, why are you chomping your input, only to re-append a newline on storage? Seems like you could avoid unnecessary operations (and more opportunities for confusion and bugs) with

    while (my $line = <SwitchLogs>) { if($line =~ m/$logsIncDate/ && $line =~ m/SW_MATM-4-MACFLAP_NOTIF/ +){ push(@eigrp, $line); $sendemail = 1; } }

    #11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

      Thanks much. I was just missing the newline after my date formatting. Good catch.

Re^5: Match 2 strings in same line
by Tux (Monsignor) on Nov 25, 2013 at 17:30 UTC

    Hint: the last character of $logsIncDate is a newline. Maybe you should consider using POSIX::strftime instead


    Enjoy, Have FUN! H.Merijn

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1064257]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2014-09-17 21:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (99 votes), past polls