У меня есть вопрос. Я надеюсь, что вы могли бы помочь?Perl WWW :: Механизировать Сохранять URL-адреса в хеше, если он не найден
foreach my $url (keys %{$newURLs}) {
# first get the base URL and save its content length
$mech->get($url);
my $content_length = $mech->response->header('Content-Length');
# now iterate all the 'child' URLs
foreach my $child_url (@{ $newURLs->{$url} }) {
# get the content
$mech->get($child_url);
# compare
if ($mech->response->header('Content-Length') != $content_length) {
print "$child_url: different content length: $content_length vs "
. $mech->response->header('Content-Length') . "!\n";
#HERE I want to store the urls that are found to have different content
#lengths to the base url
#only if the same url has not already been stored
} elsif ($mech->response->header('Content-Length') == $content_length) {
print "Content lengths are the same\n";
#HERE I want to store the urls that are found to have the same content
#length as the base url
#only if the same url has not already been stored
}
}
}
Проблема, которую я имею:
Как вы можете видеть в коде выше, я хочу, чтобы хранить адреса в зависимости от того, если длины содержимого являются одинаковыми или разными, , так что я буду в конечном итоге с группой URL-адресов, у которых была другая длина контента, к их базовому url, и в итоге я получаю еще одну группу URL-адресов, которые имеют одинаковую длину содержимого с их базовым url.
Я знаю, как сделать это легко с помощью массива
push (@differentContentLength, $url);
push (@sameContentLength, $url);
Но как бы я идти об этом, используя хэш (или другой предпочтительный метод)?
я все еще получаю, чтобы справиться с хэшей так что ваша помощь будет оценена,
Большое спасибо
Вы должны добавить закрывающие скобки к вашим петлям. – simbabque
@simbabque - да, ваше право, извинения –