Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глубина рекурсии, научите пожалуйста управлять 
:(
    Опции темы
trigger
Дата 26.9.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



Совершенно недавно благородный nitr  подсказал как решается задача вытаскивания ссылок с сайта. 
Но в процессе выполнения скрипта  КОМОД говорит о глубокой рекурсии я понимаю как об ошибке
Deep recursion on subroutine "main::get_a"
и в процессе появляются битые ссылки.

подскажите какими средствами можно управлять глубиной рекурсии.
илиже не стоит на это обращать внимание ?

Это сообщение отредактировал(а) trigger - 26.9.2006, 10:31
PM MAIL WWW ICQ   Вверх
amg
Дата 26.9.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Это лишь предупреждение от Perl (скрипт будет продолжать выполняться). Оно означает, что подпрограмма вызвала себя на 100 раз больше, чем вернулась. Разработчики Perl'а полагают, что такого не должно быть, если только вы не пишете какой-то очень специальный софт (см. perldoc perldiag). 
Выдачу этого предупреждения можно отключить (см. perldoc perllexwarn), если вместо ключика -w (#!/usr/bin/perl -w) использовать 
Код

use warnings('all');
no warnings('recursion');

PM MAIL   Вверх
trigger
Дата 26.9.2006, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



тоесть можно не обращать на это внимания ? 
PM MAIL WWW ICQ   Вверх
amg
Дата 26.9.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(trigger @  26.9.2006,  11:11 Найти цитируемый пост)
тоесть можно не обращать на это внимания ? 
Ну, наверное, все же надо обращать внимание, затем и предупреждение о глубокой рекурсии, тем более что 
Цитата
...в процессе появляются битые ссылки.


PM MAIL   Вверх
trigger
Дата 26.9.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



а вы не моглибы подсказать какими методами управлять этой самой глубиной ? 
PM MAIL WWW ICQ   Вверх
Danissimo
Дата 26.9.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 14.8.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Конечно, подскажу. Алгоритмом. Других путей нет.
PM MAIL   Вверх
trigger
Дата 26.9.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



Да - подскажите плз именно путь решения а не само решение. а потом покажу проверите - ок ? smile

наверно чтото не то ляпнул - а это как алгоритмом?

Это сообщение отредактировал(а) trigger - 26.9.2006, 15:28
PM MAIL WWW ICQ   Вверх
nitr
Дата 26.9.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



trigger, посмотри последнюю версию мною предложенную.
И сам проверяй, потому что у тебя там ссылки вида /bla-bla/ , неполные короче, полные вида
http://bla-bla.com/bla-bla

Проверять можно так... самое простое print "";
У тебя там сложности с циклическими были, я исправил, полные тоже теперь работали, может другие косяки, но у меня на том сайте не было 100, вроде.


--------------------
PM   Вверх
trigger
Дата 26.9.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



О nitr  Здравствуйте
Так взял тот последний натравил на  другой сайт - и начало  выдавать кривые ссылки - на маленьких нормально работает и красиво все отдает а более объемистые начинает ломать. я не прошу переделывать - а прошу подсказать какими методами это устраняется и как управлять глубиной рекурсии - что для этого используют. 
PM MAIL WWW ICQ   Вверх
nitr
Дата 26.9.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



trigger, я же говорил
что это для вашего сайта, т.к. в нём относительные ссылки, скрипт доработать или коммент поставь на $url и будет для других

можно проверку на относительную регулярку включить, и только в этом случае прибавлять $url или что там...
короче для других сайтов, надо доработать скрипт


--------------------
PM   Вверх
trigger
Дата 26.9.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 12.7.2006

Репутация: нет
Всего: нет



nitr признаю - был не прав подняв панику - скрипт работает чудесно (разобрался)
Но за разъяснения спасибо всем
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.