私はいくつかのhtmlドキュメントに取り組んでおり、それぞれにリンクのリストがあり、開いたときの各リンクには別のリンクのリストがありますが、リンクの各リストには別のリストからのリンクが含まれている可能性があり、リンクが1つだけのハッシュ配列があります最初my %list = ($link1 => 1);
に、これまでに行ったことは、既存のリンクを開き、html ドキュメント内のすべてのリンクをループすることです (次のコードは、リンクの html コンテンツを解析した変数 $tree を示しています)。
for my $node ( $tree->look_down('_tag' => 'a'))
{
next unless $node;
my $link = $node->attr('href');
unless(exists($list{$link}))
{
$list{$link} = 1;
}
}
今私がやりたいことは、新しいリンクが表示されるたびにフィードされているハッシュテーブルをループすることです。
私がはっきりしていることを願っています。
編集 :
これは私がリンクを取得しているページです。リストから 1 つのリンクを選択すると、別のリストにないリンクが存在することがあります。そのため、さまざまなリストからすべてのリンクがあることを確認するには、各リンクを開き、リストをループし、新しいリンクがあればハッシュ配列に追加します。
より明確にするために、私のアルゴリズムは次のとおりです。
- 私は 1 つのリンクを持つハッシュ テーブルを持ってい
my %list = ($link1 => 1);
ます。値 1 は、リンクが開かれていないことを意味するため、まだリンクのリストを確認していません。 - リンクのリストを取得したら、それをループして、ハッシュ配列にループしているリンクのいずれかがないかどうかを確認します
- 上記のリストのループが終了すると、最初に開いたリンクが 2 に更新さ
$list{$link}=2
れ、ハッシュ テーブルの次のリンクに渡されます (新しいリンクが見つかるたびにハッシュ配列がフィードされることに注意してください)。
前もって感謝します