in reply to Re: Print array from here-doc
in thread Print array from here-doc

Yes, all I want to do is to print the array elements in the message body. Can I do that using formats?

Replies are listed 'Best First'.
Re^3: Print array from here-doc
by akho (Hermit) on Apr 25, 2007 at 21:15 UTC
    I've somehow fixed my original reply.
      I think I'm closer, but it only prints the 1st array element
      sub ReportThreshholdExceeded { my $output_array = shift; my $text = join "\t", @{$output_array}; LogMsg("Running ReportThreshholdExceeded"); my $msg = <<END_OF_BODY; The number of SKUs that have been flagged as DeleteMe is greater than +the threshold of $threshold and thus Manager approval is required. Here is the list of SKUs and their counts: PLANNERCODE\tDEALER\tCOUNT ================================= $text The MDI Server END_OF_BODY my $address = "ssmith\@xyz.com"; open(MAILER, "| mailx -s \"Manager Approval Required for DeleteMe +flagged SKUs on $instance\" $address") or warn("Couldn't start mailx: $!\n"); print MAILER $msg; # send the mail close(MAILER); LogMsg("Email sent"); }
        How are you calling the subroutine? If you do

        ReportThreshholdExceeded $thing1, $thing2, $thing3;

        then $output_array = $thing1. Maybe you actually meant

        my @output_array = @_; my $text = join "\t", @output_array; ...

        This puts all parameters in $output_array.