PERL – How to Send Email

Here is a snippet of PERL code which you can use to send emails from your PERL scripts:

open (MAIL, "|/usr/sbin/sendmail -t ");
print MAIL "From: someFromAddress\@someFromDomain\n";
print MAIL "To: someToAddress\@someToDomain\n";
print MAIL "Content-Type: text/plain\n";
print MAIL "Subject: Very simple email test\n\n";
print MAIL "Body of the message";
close (MAIL);

Replace “someFromAddress\@someFromDomain” with an email address to be displayed in the “from” field of the email. It is important to not omit the backslash in front of the @ character in the email address. Similarly, replace “someToAddress\@someToDomain” with the email address to send the email to. Again don’t forget to escape the @ character in the email address by placing a backslash (\) in front of the @ sign. Also you’ll need to not leave off the “\n” you see in the to, from, and subject lines in the code.

Code

PERL – How to Get the File Path For The Running PERL Script

Here is some sample code for determining what the file path is to the PERL script containing the code:

use Cwd qw(realpath);
my $fullpath = realpath($0);

If you just do $0 alone in the second line, that only gives you the filename that was executed. For example, if you include the first line of code above in a PERL script file named “perl foo.pl” $0 will return “foo.pl”. But if you ran the PERL script using an absolute path like this “perl /user/local/foo.pl”, $0 would return “/user/local/foo.pl”. So the example above uses the realpath() function to guarantee the full absolute path is always returned.

Code