Никак не могу придумать, как нормально обойтись без goto примерно такой код: #!/usr/bin/perl -w use strict; use CGI; use HTML::Template; use settings; use session; use content; use db; use user; our $cookie = ""; &session::load(); our $template; my $action = &CGI::url_param('action'); $action = "" if not defined($action); if ($action eq "") { if ($user::status < 10) { $template = HTML::Template->new(filename=>'error.tmpl'); $template->param('message'=>'Вы не имеете доступа к этой странице'); } else { &db::sql('SELECT U_ID, U_NAME, U_STATUS FROM USER;'); $template = HTML::Template->new(filename=>'users_view.tmpl'); ... } } &set_page_content(); print &CGI::header(-cookie=>$cookie, -charset=>'koi8-r'); print $template->output(); Собственно приходится для контроля ошибок использовать конструкции вроде if (ошибка) { Обработка ошибки; } else { Нормальное продолжение; if (ошибка) { Обработка второй ошибки; } else { Нормальное продолжение; } } Завершение; Секция завершения должна выполняться всегда. Когда много ошибок, получается некрасивый код. goto пользовать не хочу ибо табу :-) Есть ещё более кривой вариант if (ошибка) Обработка ошибкиж Завершение; exit; } Нормальное продолжение; Завершение; В этом случае придётся многократно копировать Завершение, что тоже не очень хорошо. Как бы сделать здесь получше? PS Если будут замечания по самому коду, тоже приму с благодарностью, потому что на перле только учусь писать
Ответ на:
комментарий
от Chumka
Ответ на:
комментарий
от guardian
Ответ на:
комментарий
от guardian
Ответ на:
комментарий
от roller
Ответ на:
комментарий
от roller
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [Perl] CGI Upload + utf8 (2009)
- Форум [Perl][HTML::Template] Чудеса. (2010)
- Форум Perl Apache::Session (2011)
- Форум На сервер загружается файл большего размера чем изначальный (2013)
- Форум upload interrupt (2006)
- Форум perl + использование post,get одновременно (2007)
- Форум Внесение данных из формы в базу perl dbi (2017)
- Форум Perl + FastCGI + nginx (2009)
- Форум Почему не работает прокси (закомментировал)? (2008)
- Форум perl ALRM goto (2011)