--- Lance Prais <[EMAIL PROTECTED]> wrote:
> I am unseeing the following piece of code to send email. In order for this
> email to be generated there needs to be an error in my script.
>
> use Mail::Sendmail; #Send and email if there are errors
> %mail = ( To => '[EMAIL PROTECTED]',
> From => '[EMAIL PROTECTED]',
> Subject => 'Email Manager not running',
> Message => 'Email Manager not running'
> );
> sendmail(%mail) or die $Mail::Sendmail::error;
> print "OK. Log says:\n", $Mail::Sendmail::log;
>
>
> I would like to include in the message excepts from the .txt docoment I am
> reading. Does any one know how to do this?
>
> I tried to use '((substr($line, 42, 7)' which the text I want to include but
> it did not show the output.
Lance,
If you want variables to interpolate in a string, you need to use double quotes, not
single ones.
my $foo = 'bar';
print "Foo: $foo"; # prints Foo: bar
print 'Foo: $foo'; # prints Foo: $foo (probably not what you wanted)
Thus, you could do this:
my $message = substr($line, 42, 7);
%mail = ( To => '[EMAIL PROTECTED]',
From => '[EMAIL PROTECTED]',
Subject => 'Email Manager not running',
Message => $message
);
sendmail(%mail) or die $Mail::Sendmail::error;
There are a variety of things that will *not* interpolate in built-in strings.
Subroutines and
built-in functions are two of those things. Thus, '((substr($line, 42, 7)', which
relies on a
built-in function, will not interpolate, even if put into double quotes.
Cheers,
Curtis "Ovid" Poe
=====
Senior Programmer
Onsite! Technology (http://www.onsitetech.com/)
"Ovid" on http://www.perlmonks.org/
__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]