Your post title and contents make me think perhaps you expect perl to pass the log file contents in place of the log file name. In that case, you need to specifically read the file contents and pass that - perlopentut goes through basic Perl file handling and includes examples that will do what you need. A basic read might look like:

use strict; use warnings; my $LOGFILE = 'file.log'; my @contents = (); open my $fh, "<$LOGFILE" or die "Failed to open $LOGFILE"; while (my $line = <$fh>) { push @contents, $line; } close $fh; print @contents;

If instead you expect to pass the file name, this would seem to be more of an issue with the shell script that with your Perl code. As you have written it, the system call should issue the following OS command:

/home/admin/bin/email.ksh /home/admin/logs/check_jvm/check_jvm_$LOGTIME.log Web Server Issue PROD /home/admin/logs/check_jvm/EmailAlert.log

where $LOGTIME should get interpolated assuming you assign it prior to your $LOGFILE assignment. Have you tried subbing your system call with print join ' ', @args to make sure you are passing what you think?

Update: Forgot to test my open. Fixed.


In reply to Re: Passing the contents of a file in a "system" call to a .ksh script by kennethk
in thread Passing the contents of a file in a "system" call to a .ksh script by BrotherElwood

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.