Никак не могу придумать, как нормально обойтись без 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 Apache::Session (2011)
- Форум [Perl][HTML::Template] Чудеса. (2010)
- Форум Знатокам PERL-CGI: multipart/form-data (2009)
- Форум не работает perl скрипт (2005)
- Форум На сервер загружается файл большего размера чем изначальный (2013)
- Форум perl-скрипт для удаления скрипто-мусора из html-страниц (2019)
- Форум Внесение данных из формы в базу perl dbi (2017)
- Форум upload interrupt (2006)
- Форум perl + использование post,get одновременно (2007)