Пример использования модулей LWP и HTML::Tree - часть 3
42 my @cache=<cache_list>; #cause the number of searches is small
43 if ($flock_allow){unlockfile('cache_list');} # соответственно - разблокируем
44 close(cache_list);
46 my $cache_time = 604800; # делаем время обновление кэша равным 1-ой неделе
47 my $page = undef;
48 for(my $i=0; $i<=$#cache; $i++){ # перебераем кэш и пытаемся найти нужный файл
49 my $line=$cache[$i];
50 chomp $line;
51 my @temp_cache= split /%unreal_delimiter%/, $line; # разбираем потихоньку информацию
52 if(($temp_cache[1] eq $path)and((int(time())-int($temp_cache[0]))<$cache_time)){ # в случае, если кэш - не старый, то берём его и далее работаем с ним
53 open(cache, '$books_cache_dir/'.$temp_cache[0].'.cache');
54 if ($flock_allow){lockfile('cache');}
55 undef $/;
56 $page=<cache>;
57 $/="\n";
58 if ($flock_allow){unlockfile('cache');}
59 close(cache);
60 last;
61 }
62 elsif($temp_cache[1] eq $path){ # в противном случае обновляем этот кэш
63 my $browser = LWP::UserAgent->new(); # Качаем страницу
64 my $response = $browser->get($path,
65 'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
66 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*',
67 'Accept-Charset' => 'iso-8859-1,*,utf-8',
68 'Accept-Language' => 'en-US',