You need to read the data into another variable and feed it instead of the file name. You can do this in a number of ways, including read and open / <INP> / close and so on, and this may not be the most efficient method due to my lack of experience, but here we go:
my $scratchtps="/usr/local/log/sctps";
sub mailme {
open (INP, $scratchtps) || die $!;
my $content = join('', <INP>);
close(INP);
my $msg = MIME::Lite->new(
From => 'EDM01 <root@edm01.ohnet>',
To => 'Derek Smith <dbsmith@ohiohealth.com>',
Subject => "EDM Return Tapes",
Data => $content );
$msg->send;
}
if ( -s $scratchtps ) {
&mailme;
}
Questions to ask:
1. Is there a command for reading a file into a string variable?
2. Is there a way to output an entire array without having to join first, as I'm doing above?