Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 电子邮件的奇怪问题::MIME-can';不要将字符串用作哈希引用_Perl - Fatal编程技术网

Perl 电子邮件的奇怪问题::MIME-can';不要将字符串用作哈希引用

Perl 电子邮件的奇怪问题::MIME-can';不要将字符串用作哈希引用,perl,Perl,我对电子邮件有一个奇怪的问题:MIME。我有以下代码,用于解析通过管道传输到其中的MIME电子邮件: my $parsed = Email::MIME->new(<STDIN>); print $parsed->body; my$parsed=Email::MIME->new(); 打印$parsed->body; 当我运行此操作时,通过将一封MIME电子邮件示例导入其中,或者通过将主机设置为向其发送新电子邮件并向自己发送电子邮件,我在第一行遇到以下错误: >

我对电子邮件有一个奇怪的问题:MIME。我有以下代码,用于解析通过管道传输到其中的MIME电子邮件:

my $parsed = Email::MIME->new(<STDIN>);
print $parsed->body;
my$parsed=Email::MIME->new();
打印$parsed->body;
当我运行此操作时,通过将一封MIME电子邮件示例导入其中,或者通过将主机设置为向其发送新电子邮件并向自己发送电子邮件,我在第一行遇到以下错误:

> Can't use string ("Received: from
> servera02.tk2adsm") as a HASH ref
> while "strict refs" in use at
> /usr/lib/perl5/site_perl/5.8.8/Email/Simple.pm
> line 100, <STDIN> line 71.
>无法使用字符串(“已接收:来自
>servera02.tk2adsm”)作为散列引用
>而“严格参照”在
>/usr/lib/perl5/site_perl/5.8.8/Email/Simple.pm
>第100行,第71行。
错误中显示的行根据电子邮件的不同而不同,但它始终是电子邮件内容的第二行(因此我真的不太清楚为什么它声称它是STDIN第71行)。我用谷歌搜索了一下,这对我来说真的很独特——有人有什么想法吗

我在很大程度上不是一个Perl专家,而且我从来没有使用过Email::MIME,所以我希望这是一件简单的事情

Chris

表示
new()
希望其参数是字符串形式的消息<代码>是一个数组(因为参数列表在列表上下文中)


传递消息时尝试将其转换为字符串:
my$parsed=Email::MIME->new(join(“”,)

我的意思是,如果关闭严格引用,可能不会出现错误。
新的
方法实际上是在基类中记录的。。噢,哇,谢谢。我得说我不知道这是一个数组。我不知道我是喜欢还是讨厌这种打字很乱的东西。:)克里斯R:不,他是一名操作员;与许多perl操作符一样,它在列表上下文和标量上下文中的行为不同。确实,如果禁用了严格引用(在模块中,您无法控制),则不会出现此错误。相反,您的程序会因为没有明显的原因而无法正常工作。