|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Tokar 2:5020/400 01 Nov 2004 21:31:36 To : Alexander Pashchenko Subject : Re: А есть ли в эхотаге рекурсия? -------------------------------------------------------------------------------- Alexander Pashchenko wrote: > Bonan tagon _All_! Kiel vi fartas? > > Блин. Hадо в программе читать конфиг hpt, а он у меня с include. > Hаписал следующую программку. > Однако, после чтения packer.cfg она выходит, хотя должна бы продолжать читать > остальные include. > > В чем косяк? Когда такие проблемы, приводи минимальную программу для тестирования, и минимальный набор тестов. В твоём случае это программа типа той, что я написал, и два файла, каждый из максимукм пары строк. Ошибка же у тебя, скорее всего, в неиспользовании local *F; - глобальное имя ты используешь на каждой итерации рекурсии. И когда открываешь файл, всегда проверяй, открылся ли он. #!perl -w use strict; sub rec{ my $filename = shift; local *F; open(F, '<' . $filename) || die("$filename: $!"); while(<F>){ if(/^include/){ my($x)=(split(' ',$_))[1]; print "$x\n"; rec($x); } } close(F); } rec('hpt.cfg'); --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65771957c93c.html, оценка из 5, голосов 10
|