我正在编写一个 perl 脚本,由 qmail 为每个传入的邮件调用,以解析内容并找到电子邮件的正文。这样做的原因是从数据库中添加一些用户信息,将其附加到正文,然后转发到另一个地址(列表服务器)。
无法解决的问题是这样的:
cat dbody.txt|grep -A1000 '^\s*$'
目的:找到第一个空行(作为标题信息的结尾)并在此之后全部返回
当我从命令行(使用终端)(即直接)运行该行时 - 它工作正常。返回电子邮件的正文。
当我在脚本本身中运行它时 -它没有。
进行了无休止的测试,想不出为什么会这样,或者我应该改变什么。帮助!
脚本中的行 - 第一个“测试” - 工作正常。
$test =`cat dbody.txt|grep -A1000 '^\s*$'`;
$body= `cat dbody.txt|grep -A1000 '2,/^$/d'`;
当我将以上内容打印到最终电子邮件中时 - $test 返回全文(作为测试), $body 保持空白。