gpt4 book ai didi

html - 为什么 HTML::Obliterate 不删除我的 HTML?

转载 作者:太空宇宙 更新时间:2023-11-04 15:26:37 25 4
gpt4 key购买 nike

我正在尝试使用以下代码,但我无法对其进行测试,因为出现以下错误:

#!/usr/bin/perl
use warnings;
use strict;
use Text::Wrap;
use Mail::Box::Manager;
use HTML::Obliterate qw(extirpate_html);


open (MYFILE, '>>data.txt');
binmode(MYFILE, ':encoding(UTF-8)');


my $file = shift || $ENV{MAIL};
my $mgr = Mail::Box::Manager->new(
access => 'r',
);

my $folder = $mgr->open( folder => $file )
or die "$file: Unable to open: $!\n";

for my $msg ( sort { $a->timestamp <=> $b->timestamp } $folder->messages)
{
my $to = join( ', ', map { $_->format } $msg->to );
my $from = join( ', ', map { $_->format } $msg->from );
my $date = localtime( $msg->timestamp );
my $subject = $msg->subject;
my $body = $msg->decoded->string;


if ( $msg->isMultipart ) {
foreach my $part ( $msg->parts ) {
if ( $part->contentType eq 'text/html' ) {
my $nohtml = extirpate_html( $msg );
$body =~ s/^>.*$//msg;
$Text::Wrap::columns=80;
print MYFILE wrap("", "", <<"");
\n
From: $from
To: $to
Date: $date
Subject: $subject
\n
$body
}

else {


$body =~ s/^>.*$//msg;
$Text::Wrap::columns=80;
print MYFILE wrap("", "", <<"");
\n
From: $from
To: $to
Date: $date
Subject: $subject
\n
$body

}

}}

所有的括号似乎都匹配,所以我不确定是什么问题

syntax error at x.pl line 46, near "else"
(Might be a runaway multi-line << string starting on line 36)
Missing right curly or square bracket at x.pl line 63, at end of line
syntax error at x.pl line 63, at EOF
Execution of x.pl aborted due to compilation errors.

编辑:

它现在可以工作了,但是 html 没有 strip 化:取而代之的是一些像
>
> 之类的电子邮件在整个过程中交错,导致它的页面比它应该的多得多。有没有更好的方法来做到这一点

最佳答案

所以第36行好像是

print MYFILE wrap("", "", <<"");

这意味着 perl 将包装以下文本,直到出现终止符 ""(我从不使用像这样令人困惑的项目,为了简单起见,我总是使用 END 或 UNTIL_END。)

然后在第 45 行(空行)找到该终止符,这意味着它接下来要处理的是第 46 行:

else {

这没有意义,因为之前的 if 还没有结束(第 44 行有 } 是 before 终止符 "" 所以它被视为包装文本。Perl 注意到了这一点并善意地建议你这可能是罪魁祸首:

(Might be a runaway multi-line << string starting on line 36)

您需要交换第 44 行和第 45 行以首先使用终止符 ""(空行),然后使用 } 关闭 if。您的示例中的第二个包装正确地完成了此操作。

关于html - 为什么 HTML::Obliterate 不删除我的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/371637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com