【发布时间】:2019-08-01 12:57:43
【问题描述】:
我想在 Perl 中转换一个 shell 脚本代码并使用 exec 来执行代码。我有用 perl 编写的程序,但在一个条件下,我必须添加一个代码,我知道我们可以在 shell 脚本中如何做,但不确定我们如何在 perl 中做。
Shell 脚本代码:
(
echo "MIME-Version: 1.0"
echo "Subject: "
echo "Content-Type: text/html"
cat <emailbody>
) | mailx -r "test@gmail.com"
我的 Perl 代码:
!/usr/bin/perl
use strict;
use warnings;
my $mailx = "/usr/bin/mailx";
if($ARGV[0] eq "ty" && $ARG[1]){
/// Here we want to use the shell script code .
}
my @args_to_pass = ($mailx, @ARGV);
exec @args_to_pass;
【问题讨论】:
-
您可以使用许多用于发送电子邮件的 Perl 模块。在 metacpan 上搜索一个看起来不错的。
-
@Shawn 我知道。但我有一些限制,我必须使用这个
-
存在各种版本的
mailx,它们在如何指定标头方面存在很大差异。即使sendmail更好(更一致)——你能用它来代替吗? -
@Developer :如果您想在 shell 中处理所有内容,请将其编写为 shell 脚本,然后从您的 Perl 应用程序中调用您的脚本。这也使调试更容易。
-
"sendmail 也是一个不错的选择" --- 例如,this post 怎么样?我很容易找到的东西。关于 SO 的内容还有很多。