Perl - статьи


Пример использования модулей 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',




Начало  Назад  Вперед