|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ivan Frolcov 2:5020/175.2 20 Nov 2000 17:21:10 To : Anton Zykov Subject : поскажите -------------------------------------------------------------------------------- IF>> Ей-богу, странный у тебя код какой-то. AZ> Это точно. Я решил эту задачку уже через 10 минут после отправки AZ> письма. :( AZ> Может быть, укажешь еще на огрехи? AZ> === AZ> ... AZ> sub getConfigString { AZ> if (!defined($config)) {return}; Hаверное, лучше сказать не return, а die. Впрочем, тебе там на месте виднее. AZ> while (<$config>) { AZ> if (eof()) { не eof, а eof($config). С другой стороны, если уж у тебя и приключится eof($config), ты просто вывалишься из while(<$config>), и дело до eof не дойдет. AZ> close $config; AZ> $config = pop @configs; AZ> } AZ> chomp; AZ> s/#.*$//; AZ> next if /^$/; AZ> last if !s/Include\s+//i; AZ> push (@configs, $config); AZ> $config = new FileHandle; AZ> open($config, "< $_") or die "Cannot open config file."; AZ> }; AZ> return $_; AZ> } Мнэ-э... ну насколько я могу судить, ты читаешь какой-то файл (условно "файл А", и если строчка не пуста и не начинается с #, то это имя файла, с которым надо проделать то же самое, что и А... Во-первых, тут, наверное, было бы разумнее воспрользоваться рекурсией, и, во-вторых, вопрос философский - я даже не могу вообразить, за каким хреном это тебе надо. Относительно конфигов - кто тебе мешает иметь этот самый конфиг в виде программы на перле? Далее, на CPAN есть как минимум несколько модулей, которые как раз и занимаются всяческой разборкой всяческих конфигов. PS Сорри за словечко "конфиг". Вспоминается фраза из SU.C_CPP эдак пятилетней давности - "а для начала оный тулбар надо заенаблить...". "Подвинься, педестриан, а то ща как ююком заенаблю..." --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3300864951b5.html, оценка из 5, голосов 10
|