我有一个 HTML 文件,其中包含一个 HTML 表格,其中包含指向科学论文和作者的链接以及他们的出版年份。html 从最旧到最新排序。我需要通过解析文件并获取一个包含从最新到最旧排序的源代码的新文件来使用表格。
这是一个小的 perl 脚本,应该可以完成这项工作,但它会产生半排序的结果
local $/=undef;
open(FILE, "pubTable.html") or die "Couldn't open file: $!";
binmode FILE;
my $html = <FILE>;
open (OUTFILE, ">>sorted.html") || die "Can't oupen output file.\n";
map{print OUTFILE "<tr>$_->[0]</tr>"}
sort{$b->[1] <=> $a->[1]}
map{[$_, m|, +(\d{4}).*</a>|]}
$html =~ m|<tr>(.*?)</tr>|gs;
close (FILE);
close (OUTFILE);
这是我的输入文件: 链接
以及我得到的输出: 链接
从输出中您可以看到订单进展顺利,但是我在 1992 年之后得到了 1993 年,而不是在列表的开头。