There are multiple ways to send mail from perl script. I think this code will help. ---------------------------------------- open(ML,"|mail -s \"Subject of mesaages should be here\" [EMAIL PROTECTED]") or die " Can't open mail handle: $!"; print ML $_ ; close(ML); ---------------------------------------- Or ---------------------------------------- open (SENDMAIL, "|/usr/sbin/sendmail") || die "ERROR: Can not run sendmail"; print SENDMAIL "MIME-Version: 1.0\n"; print SENDMAIL "Content-Type: text/plain; charset=\"utf-8\"\n"; print SENDMAIL "Content-Transfer-Encoding: 8bit\n"; print SENDMAIL "To: [EMAIL PROTECTED]"; print SENDMAIL "From: [EMAIL PROTECTED]"; print SENDMAIL "Subject: Sunbject should be here\n\n"; print SENDMAIL $_ ; close (SENDMAIL); ---------------------------------------- -- С уважением, Бхабха Мандип Сингх ЗАО "РАМАКС Интернейшнл" +7(812)327-86-49 [EMAIL PROTECTED] -----Original Message----- From: joseph [mailto:[EMAIL PROTECTED] Sent: Friday, June 02, 2006 6:15 AM To: beginners@perl.org Subject: Sendmail mail from script
List, Good day! I'm trying to rewrite a bash script into perl as to aid my learning experience.Supposedly this script would do these things; 1. Open the logfiles. 2. Check the last portion of files. 3. Check the log for an ERROR string. 4. If error is present mail.(I'm stuck here i dunno how to do it.) I already peeking at this http://perldoc.perl.org/perlfaq9.html#How-do-I-send-mail%3F but i can figure out how to do it without the <<EOF portion i'd like instead that value of $_ will be the body portion of mail. Below is my code, kindly bear for any ineffecient code feedback and correction are very much appreciated. #!/bin/perl use strict; use warnings; $/ = "\n"; open(FILE,"/home/teragram/status_log.txt") or die "can't open file $!\n"; my @line; while (<FILE>) { push @line, $_; shift @line if @line > 17; } my @mail2log = grep {/^ERROR/ig} @line; #get the line with that starts with "ERROR" foreach (@mail2log) { if ($_ =~ /^ERROR/ig) #since this could always be true i'd like to mail the value of $_ via Sendmail but how? { open(SENDMAIL "|/usr/sbin/sendmail -oi -t -odq") or die "Can't fork for sendmail: $!\n"; } } close FILE; -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response> -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>