Perl: Все что я хотел узнать про Perl

May 20, 2010 16:57

Конечно это не все, что мне бы следовало знать, но для начала веб-разработок почти достаточно.

Прежде всего необходимы: подключение к базе данных и возможность использования стандартизированного шаблонизатора XSLT. Весь нижеуказанный код проверен на сервере виртуального хостинга SpaceWeb. На счет других хостингов я не уверен, но скорее всего все ( Read more... )

xsl, dbi, perl, xslt, mysql

Leave a comment

ant107 May 24 2010, 11:12:51 UTC
|| print "Could not connect to database: $DBI::errstr";

Вот такие вот сделать что-нибудь or print меня всегда бесили в перле, хотя некоторыми этим даже гордятся - посмотрите, мол, что программа выглядит как предложение на английском языке. Но по сути это ужасное запутывание кода, игнорирование используемых во всем мире подходов к обработке ошибок.

Reply

yarixxx May 24 2010, 11:28:03 UTC
А как ты хочешь обрабатывать ошибки?
Ставить try\catch?

Reply

ant107 May 24 2010, 12:22:27 UTC
Для начала писать логику более явно. Выкидываем or, добавляем условный блок. Получаем

$dbh = DBI->connect(
$dsn,
$username,
$password);

if (!$dbh) {
// some error handler
}

Это намного понятнее, чем "1 or 1".

Теперь в этот блок можно поместить что-то. Это либо вывод ошибки, либо логгирование, либо перенаправление на другой урл, либо ещё что-то. Ну уж в любом случае это не or print :)

Reply

yarixxx May 24 2010, 12:40:20 UTC
Так ведь можно описать специальную функцию для обработки ошибок и вызывать её сразу при возникновении ошибки. А print это для глубоко начинающих (типа меня). А на боевой сервер никто не разрешит выкладывать такой код. =)

Согласись, раскладывать обработчики ошибок по всем файлам проекта это не очень хорошая практика. Удобнее держать их в одном месте.

Reply

yarixxx May 28 2010, 18:19:36 UTC
Интересное высказывание на эту тему в блоге:
http://onperl.ru/onperl/2010/05/interv-ju-s-damianom-konveem.html

Reply


Leave a comment

Up