Perl - статьи


Пример использования модулей LWP и HTML::Tree - часть 2


16    system("/bin/mkdir", "-m", "0777", "$books_cache_dir"); #Unix

17    system("mkdir", "$books_cache_dir"); #Windows

18   }

19   my $phrase= uri_escape($coi->param('text')); # получаем запрос, по которому ведётся поиск, переводим всё в escape последовательности

20   $phrase = 'perl' unless $phrase or $coi->param('path'); # по умолчанию - запрос 'perl', остальное - для совметимости со старой версией скрипта,поисковики о ней ещё помнят :)

21   my $path;

22   my $page_num;

23   if($coi->param('page')){ # определяем номер текущей страницы для отображения( в Озоне, если количество книг > 20, то происходит разбивка книг по 20 на страницу)

24    $page_num = int($coi->param('page'));

25    $page_num = 0 if $page_num<0;

26  }

27  if($page_num){ # вычисляем, какую страницу на нужно качать

28    $path = 'http://www.ozon.ru/?context=advsearch_book&partner=d392&title=' .$phrase.'&page='.$page_num;

29  }

30  else{

31   unless($coi->param('path')){

32     $path = 'http://www.ozon.ru/?context=advsearch_book&partner=d392&title='.$phrase;

33   }

34   else{

35     my $add_path = uri_unescape($coi->param('path'));

36     $path = 'http://www.ozon.ru'.$add_path."&partner=d392";

37     if($add_path =~m /title=(.*)&/i){$phrase=$1;}

38   }

39  }

40   open(cache_list,"$books_cache_dir/list.cache"); # "смотрим на текущее состояние кэша"

41   if ($flock_allow){lockfile('cache_list');} # если разрешено блокирование файла, то блокируем




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