0
我打開一個與LWP
的鏈接,在響應中還有其他的鏈接,我想打開它們也是爲了每個鏈接//DoSomething
,其中有我剛剛打開的鏈接,我想這是有點令人困惑的,還有這裏是我使用的代碼:強制循環以特定元素開始? (Perl)
my $request = GET $topic;
my $response = $ua->request($request);
usleep(52000);
my $tree = HTML::TreeBuilder->new();
$tree->parse($response->decoded_content);
my $link_1 = $tree->look_down('id' => 'link_1')->look_down('_tag' => 'a')->attr('href');
my $link_2 = $tree->look_down('id' => 'link_2')->look_down('_tag' => 'a')->attr('href');
my $link_3 = $tree->look_down('id' => 'link_3')->look_down('_tag' => 'a')->attr('href');
//then i insert them in an array
push @links, $link_1;
push @links, $link_2;
push @links, $link_3;
現在讓我們說,例如該$link_2
和$topic
是相同的
foreach my $link (@links)
{
if($link ne $topic)
{
$request = GET $link;
$response = $ua->request($request);
usleep(52000);
$tree = HTML::TreeBuilder->new();
$tree->parse($response->decoded_content);
}
$json = $tree->look_down('id' => 'json_text')->attr('_content')->[0];
}
我現在要的是無法打開鏈接兩次辯論,因爲perl不遵循p的順序遍歷數組因爲我試圖在push @links, topic;
開頭,然後確保@links
在每個push @links, $link_?
之前都沒有鏈接,如$topic
,但它不起作用,換句話說,我想跳過打開鏈接兩次或按正確順序打印。
在此先感謝
謝謝:d,我想到的是使用AA哈希代替,不過,我想迫使我環路開始與'$ topic'第一然後繼續其餘的,我不知道是否有可能 – Mugiwara
@Mugiwara看看更新的答案,顯示如何只下載主題,如果它不存在。 – Joel
非常感謝@Joel:D – Mugiwara