fetch_hash in Mail::IMAPClient 返回的哈希值不符合我发送的参数

The returned hash from fetch_hash in Mail::IMAPClient doesn't meet the parameters I send

这是一个关于我遇到的问题的自动回答问题,但我没有找到答案,问题如下:

use Mail::IMAPClient;
$imap = new Mail::IMAPClient(
   # My connection data.
};
#Folder selection and stuff like that.
my $hash = $imap->fetch_hash('BODY.PEEK[HEADER.FIELDS (SUBJECT)]');

现在我在我选择的文件夹中有了一个包含电子邮件主题的散列,我原以为它是 return 邮件主题:

print $hash->{mymessage}->{'BODY.PEEK[HEADER.FIELDS (SUBJECT)]'};

相反,我得到了: 在 /var/www/localhost/htdocs/user/mail.pl 第 76 行

处的连接 (.) 或字符串中使用未初始化的值

请原谅我糟糕的英语。

我所做的就是看到keys $hash->{mymessage} 正在返回,它是 BODY[HEADER.FIELDS (SUBJECT)],所以我想出了 Mail::IMAPClient,在函数 fetch_hash() 中创建散列键时从对函数的任何调用中省略 PEEK。 我应该做的是:

print $hash->{mymessage}->{'BODY[HEADER.FIELDS (SUBJECT)]'};`