Доброго времени суток.
Возникла такая необходимость разбираться с чужими perl-исходниками. А так как с perl-ом я пока знаком очень мало, по ходу дела возникают вопросы.
Получилась своеобразная FAQ-а.
(Возможно, многое есть на форуме - буду искать, но пока скинул сюда все накопившиеся вопросы).
1) Например, обнаружил в конце одного из файлов такую строчку:
1;
Что это?
2) Чем отличается fetchrow от fetchrow_array?
Смотрел в спецификации (где-то скачал в pdf) вообще ни слова о fetchrow.
В руководстве упоминается fetchrow, но как-то странно: под заголовком fetchrow_array в тексте упоминается о DBI::fetchrow. Пробовал - различий в работе не нашёл.
3) Чем отличаются local() и my(). В документации почти ничего не нашёл по этому поводу. Написано только что лучше использовать my(), и что "local isn\'t what most people think of as \'local\'" и никаких пояснений...
4) Должен ли работать такой код:
# $query_res - хэндлер выполненного запроса
$query_res->insertid;
?
Потому что в одном месте я так и писал - всё работало. В другом работает только
$query_res->{insertid};
5) Есть ли различие в скорости обработки строк в одинарных и двойных кавычках. Точнее - сильно ли замедляет работу использование двойных кавычек (которые, насколько я знаю, парсятся)?
6) Отличаются чем-нибудь файлы .pl и .cgi?
7) Есть ли минусы у многоступенчатого (скажем, ступеней 4-5) включения файлов? Т.е., например, index.html содержит два включения файла, которые, в свою очередь, также содержат включения. Некотрые из включений могут быть exec-ами. Сильно ли это тормозит выдачу документа пользователю?
Есть ли какие-то статьи по технологиям создания мультиязыковых сайтов на Perl?
В голову приходит только создание множества файлов с переменными с одинаковыми именами, но разными значениями (соответственно языку файла). Но даже если этот способ реально используется, хотелось бы узнать все тонкости метода.
9) Что это за конструкция:
return <
$title
END_OF_TEXT
и вот эта:
print qq{
some text}
10) Немного оффтоп: как убить процесс Perl.exe когда он после неудачного тестирования скрипта нехило начинает грузить машину (это вроде распространённая проблема).
11) Как в Perl с сессиями?
12) Где можно найти инфу по технологии шаблонного генерирования страниц в Perl?
Очевидно не учитывая каких-то тонкостей по незнанию думал о таком варианте. (
Прошу прокомментировать о его эффективности(скорость и др.)!)
Основной шаблон (весь дизайн страницы без каких-либо данных: контента, пунктов меню и т.д.) читается из хтмл-файла и все особые метки заменяются в нём регулярными выражениями на соответствующие шаблоны. эти шаблоны - небольшие файлы с блоками хтмл-я также с метками. Метки в главном могут заменяться на один шаблон, а могут на много: например метка контента заменяется на сгенерённый хтмл с результатом обращения к БД, а метка меню - на много однотипных шаблонов пунктов меню, в которых только заменяются метки названия пункта и ссылки.
Заранее спасибо.