I don't use this mailer, but looking at your code, this line:
my(@push_list) = glob "*"; , glob returns a list of file names without "\n".
Consider:
#!/usr/bin/perl
use strict;
use warnings;
my (@push_list) = map{"$_\n"} glob "*";
print "@push_list\n";
That would add a "\n" after each file name. Hope that helps, but I'm not sure. Run the code with and without the map.
Update: see post++ by pryrt. I was puzzled by the fact that the single "\n" didn't appear to do anything, hence my uncertainty. The key appears to use <br> instead of "\n".