gpt4 book ai didi

perl - 如何使用 Perl 动态创建 HTML 表格?

转载 作者:行者123 更新时间:2023-12-02 15:50:25 24 4
gpt4 key购买 nike

我正在开展一个项目,我需要从 Web URL 访问 CSV 文件。我能够访问该文件并在终端中打印 CSV 文件的内容,但我无法生成 HTML 表格(然后我稍后将使用 MIME 发送电子邮件)。

这是我的代码 - 我需要将完整的 CSV 文件作为 HTML 表格发送到我的电子邮件。

#!/usr/bin/perl
use strict;
use warnings;

use LWP::Simple;
use POSIX qw(strftime);
use MIME::Lite;
use Getopt::Long;

my $to="pankajdustbin\@gmail.com";
my $from="pankajdustbin\@gmail.com";
$subject="CSV File";

my $content = `curl -s "https:csvfile.com"`;

@output = split(/\n/,$content);

foreach my $line (@output) {
my ($col1, $col2, $col3, $col4, $col5, $col6) = split(/,/, $line);
#print "\n$col1, $col2, $col3, $col4, $col5, $col6\n";

$message = "<tr> <td>$col1</td> <td>$col2</td> <td>$col3</td> <td>$col4</td> <td>$col5</td> <td>$col6</td></tr>";
}

my $msg=MIME::Lite->new(
From => $from,
To => $to,
Subject => $subject,
Data => $message
);

$msg->attr('content-type' => 'text/html');
#MIME::Lite->send("smtp");
$msg->send;

使用此代码,HTML 表格仅包含 CSV 的最后一行。有人可以帮我怎么做吗?

CSV 大约有 100 行,我在终端中看到的示例输出如下:

1.2.3.4  03-04-2022.  03-08-2022. Red.  1%.  Positive
5.2.3.4 03-05-2022. 04-08-2022. Blue. 1%. Neutral
and so on...

最佳答案

问题是您每次通过 foreach 循环都会覆盖 $message 变量的内容。这意味着 $message 将只有您分配给它的最后一个值。

您可以使用 .= 运算符附加到变量的内容:

my $message;
foreach my $line (@output) {
my ($col1, $col2, $col3, $col4, $col5, $col6) = split(/,/, $line);
$message .= "<tr> <td>$col1</td> <td>$col2</td> <td>$col3</td> <td>$col4</td> <td>$col5</td> <td>$col6</td></tr>";
}

关于perl - 如何使用 Perl 动态创建 HTML 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72720942/

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