http://www.perlmonks.org?node_id=391889


in reply to Help sending with MIME::Lite

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?