Scientific Papers と Authors へのリンクと発行年を含む 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 年が表示され、リストの先頭にはありません。