in reply to pattern matching and sending mail!

Juan,

It is difficult to read your code when it is not formatted for this website. Could you please wrap your code in code tags, like: <code></code>?

I have made an attempt to reconstruct your code from what you have provided. I think your code looks like this, but please verify:

Updated:
#!/usr/local/bin/perl # Program to check /var/log/messeges for alerts contining the word IDS + and send mails # in case the word is found- including the line use strict; use warnings; use Mail::Mailer; open (INFO, "/var/log/messages"); # Open the file while { @message = <INFO> / IDS/g # Read it into an array @message = $& $mailer = Mail::Mailer->new("smtp", "10.83.27.71"); $mailer->open( 'From' => 'Syslog <syslog@hpda.com.ar>', 'To' => 'gabriela pinado <gabriela.pinado@hpda.com.ar>', 'Subject' => 'PiX Detected Attack ' ); print $mailer <<@message; close($mailer) or die "can't close mailer: $!";

Here is my revised version:

#!/usr/local/bin/perl use strict; use warnings; use Mail::Mailer; my $mailer = Mail::Mailer->new("smtp", "10.83.27.71"); open (INFO, "/var/log/messages"); while (my $message = <INFO>) { next unless $message =~ / IDS/; $mailer->open( 'From' => 'Syslog <syslog@hpda.com.ar>', 'To' => 'gabriela pinado <gabriela.pinado@hpda.com.ar>', 'Subject' => 'PiX Detected Attack ' ); print $mailer $message; $mailer->close() or die "can't close mailer: $!"; } close INFO;

From what I can tell, I think this should have the desired result you are looking for.


Where do you want *them* to go today?