为什么我不能管的uuencode的输出到一个Perl的公开声明mailx的?
-
22-09-2019 - |
题
下面是我的代码不工作:
print "To: "; my $to=<>; chomp $to;
print "From: "; my $from=<>; chomp $from;
print "Attach: "; my $attach=<>; chomp $attach;
print "Subject: "; my $subject=<>; chomp $subject;
print "Message: "; my $message=<>; chomp $message;
my $mail_fh = \*MAIL;
open $mail_fh, "uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
print $mail_fh $message;
close($mail_fh);
在mailx的命令工作正常关闭命令行中,但不是在本Perl脚本上下文。
任何想法,我缺少什么?
我怀疑这行的格式/语法:
open $mail_fh, "uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
是罪魁祸首。
解决方案
您只需要一个额外的|
开头:
open $mail_fh, "|uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
不隶属于 StackOverflow