Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Последовательный запуск двух функций в скрипте |
Автор: solarmyth 17.3.2011, 13:21 | ||||||
Здравствуйте. В течение долгого времени я пытался обрабатывать html-файлы при помощи языка awk. Потратив год времени и написав 400строчный код (не отличающийся особой читаемостью) я начал переходить на perl, пойдя светлой дорогой тов. Уолла. В процессе перехода обнаружилось, что awk-овые привычки к реализации программ остаются, но в perl не работают, а учебник Рендела и Шварца не даёт советов по моей вымученной ситуации. Суть проблемы следующая - я пытаюсь последовательно запустить две функции, дабы работать с возвращаемыми ими массивами. Первая функция:
Вторая функция
Т.е. первая функция выдаёт массив с номерами параграфов, а вторая вырезает нужные мне строчки. По отдельности обе функции работают, в режиме perl perl_script.pl Verbs.html Однако, по awk-шному образцу запустить их просто написав
не получается, т.к. программа, по всей видимости, уходит в бесконечный цикл и её приходится выключать Ctrl-C. Если одну из функций не запускать то всё работает. В связи с этим вопрос - как можно запустить несколько функций подряд? Или сама реализация методом "запусти эту, эту и эту функцию, а потом сделай с результатами то-то" неверна и еретична? Буду благодарен за советы и подсказки. |
Автор: arto 17.3.2011, 15:36 |
первой функцией вы выэитываете весь входной поток. либо читайте в промежуточный массив и его обрабатывайте функциями, либо совместите всю обработку в одной. Добавлено через 1 минуту и 7 секунд ну и, естественно, проще использовать какой-либо парсер хтмля |
Автор: solarmyth 17.3.2011, 18:34 |
arto, большое Вам спасибо! Вопрос решён. З.Ы. В переписанном коде функций должно быть значительно больше, и основную проблему представляют не теги html (хотя и они несколько хаотичны в обрабатываемом документа), а нерегулярности в описаниях на русском языке. Но perl-парсеры html я поищу. ![]() |