Когда мне нужно собрать очень простой скрипт CGI, я использую интерфейс OO модуля CGI.
Я использую интерфейс ООП, потому что стандартный императивный интерфейс импортирует тонну символов, которые могут конфликтовать с моими собственными символами. Мне это не нравится, поэтому я всегда запрещаю ввоз символов. Я не use CGI;
. Вместо этого я use CGI ();
.
Я также ограничиваю свое использование генерацией параметров заголовка и разбора. Я всегда генерирую HTML как HTML или еще лучше, использую шаблонный модуль, такой как TemplateToolkit.
Я строго избегаю функций генерации HTML в CGI. Почему?
- Я (как и многие другие люди) уже знаю HTML, и не вижу никакой выгоды в изучении псевдо-html-интерфейса CGI.
- Когда скрипт растет и его необходимо использовать в другой среде, проще извлечь блоки или шаблоны HTML и использовать их повторно.
Не интерпретируйте то, что я написал, как общее осуждение CGI.pm. В CGI.pm есть что любить. Это дает право генерации типа контента. Это делает анализ параметров тривиальным. Это основной модуль. Это облегчает отладку и тестирование командной строки.