Perl&;MIME::Lite-为什么我的.txt附件是空的?

Perl&;MIME::Lite-为什么我的.txt附件是空的?,perl,file,mime,text-files,email-attachments,Perl,File,Mime,Text Files,Email Attachments,我已经使用了很短一段时间,到目前为止没有任何问题 我正在尝试附加一个.txt文件,但该文件(发送后)中没有任何内容 我知道文件中有一些内容,因为我正在同一脚本中创建.txt文件。我知道文件在哪里,并且可以看到它的内容,但是当我告诉MIME::Lite附加.txt文件时,电子邮件中只有文件名,只有64字节 以下是我脚本的MIME::Lite部分的代码: $msg = new MIME::Lite(From => $from,To => $to,Subject => $subjec

我已经使用了很短一段时间,到目前为止没有任何问题

我正在尝试附加一个
.txt
文件,但该文件(发送后)中没有任何内容

我知道文件中有一些内容,因为我正在同一脚本中创建
.txt
文件。我知道文件在哪里,并且可以看到它的内容,但是当我告诉
MIME::Lite
附加
.txt
文件时,电子邮件中只有文件名,只有64字节

以下是我脚本的
MIME::Lite
部分的代码:

$msg = new MIME::Lite(From => $from,To => $to,Subject => $subject,Data => "Data",Type => "multipart/mixed",); 
$msg->attach(Type => 'TEXT', Data => @message);
$msg->attach(Type => 'TEXT', Path => $stat_file);
$msg->send();
其中,
$stat\u file
=
/in/some/dir/cheese/txt/somefile.txt

除了第三条线外,一切正常。它正确地找到并附加了我指向的文件,但当它点击我的电子邮件时,它是一个64字节的空白
.txt
文件

我已经尝试了这段代码前3行中每一行的几个变体,但不知道我遗漏了什么


有人看到了这个脚本按说明执行的原因吗?

您说您正在程序中创建由
$stat\u file
指向的文件,对吗?可能您还没有关闭该文件的文件句柄,可能它没有被刷新到磁盘?

您说您正在创建程序中由
$stat\u file
指向的文件,对吗?也许你还没有关闭该文件的文件句柄,可能它没有被刷新到磁盘?

@cjm-我想应该指向我使用的版本,没有?没有,因为最终该版本将从CPAN中删除,链接将断开。还不清楚您是否实际使用了该版本(很可能是您创建链接时的最新版本)。如果您认为模块的版本可能很重要,请在问题中明确提及;不要期望人们看到你链接的URL。@cjm-你应该编写一个基于SO API的小脚本来编辑不正确的CPAN链接。如果是Perl:)@DVK,那么这个API目前是只读的。因此,脚本可以找到链接,但无法修复它们。@cjm-我认为指向我使用的版本更为恰当,否?否,因为最终该版本将从CPAN中删除,链接将断开。还不清楚您是否实际使用了该版本(很可能是您创建链接时的最新版本)。如果您认为模块的版本可能很重要,请在问题中明确提及;不要期望人们看到你链接的URL。@cjm-你应该编写一个基于SO API的小脚本来编辑不正确的CPAN链接。如果是Perl:)@DVK,那么这个API目前是只读的。所以一个脚本可以找到链接,但它无法修复它们。。。。我必须找到那个语法,但我认为你是对的。这是我永远不会忘记的事情之一。哈哈:-)它以前咬过我。现在,每当我完全知道我已经完成了对文件的写入,我就关闭它,而不是等待文件句柄超出范围。我过去遵守关闭文件法,但却在这方面变得懒惰,因为我从未看到保持文件打开的任何有害影响。。。当然,直到今天,这听起来都是正确的。。。。我必须找到那个语法,但我认为你是对的。这是我永远不会忘记的事情之一。哈哈:-)它以前咬过我。现在,每当我完全知道我已经完成了对文件的写入,我就关闭它,而不是等待文件句柄超出范围。我过去遵守关闭文件法,但却在这方面变得懒惰,因为我从未看到保持文件打开的任何有害影响。。。当然,直到今天