О переизобретении CGI
CGI - это библиотека, которая была тщательно опробована и протестирована, и, если она нуждается в улучшении, вы можете создать расширение или добавить / связаться с сопровождающими.Вы должны помнить, что модули настолько же хороши, как их послужной список (надежность) и их содержание.Многие люди создавали достойные модули, но не продолжали поддерживать их, поэтому они как бы упали до неузнаваемости.
CGI - это отдельная лодка, которую, если вы думаете, что много накладных расходов, вы можете использовать CGI :: Простой или CGI :: Минимальный .CGI.pm делает больше, чем анализ строк запросов, он также имеет управление файлами cookie (сеансы), генерацию HTML и другие полезные функции.
Другие критиковали использование CGI.pm, но именно поэтому они разработали FastCGI , который изменяет сервер для использования постоянного состояния сценария, таким образом загружая служебные данные один раз, а не при каждой загрузке страницы.
Возможно создание другого (даже лучше) версия, но зачем?Многие люди могут вам сказать, что вам не следует изобретать велосипед по уважительной причине.CGI существует уже почти два десятилетия, так как многие пользователи тестируют его, находят дыры и исправляют дыры;тем не менее, я никогда не болел за то, чтобы сказать: «Ты не должен что-то делать».Если вы думаете, что-то может быть лучше, сделайте это лучше.Есть много операционных систем, которые существуют сегодня именно по этой причине, зачем соглашаться на то, что делает 95% того, что вам нужно, если вам нужны и другие 5%?Но я также говорю, взвесьте ваши затраты и выгоды и определите, хотите ли вы посвятить свое время этому, или, может быть, есть еще одна проблема, которая еще не решена, которая могла бы использовать немного большеНайм рабочей силы.Чтобы иметь что-то успешное, вам нужно будет тщательно его протестировать, и, скорее всего, вам нужно будет создать то, что захотят другие люди, и (на данный момент) у мотивированных пользователей CGI нет особых причин для мотивации.переключать.
О Modern Perl
Я думаю, " modern Perl " - оксюморон.Я бы в шутку назвал современный Perl;Рубин или Питон.
Нельзя сказать, что Perl бесполезен, потому что это так, но это было давно.Несмотря на значительную долю изменений от версии к версии, самый популярный Perl5 не сильно изменился;обратите внимание, мое определение изменения не добавляется к языку (новые операторы и функциональные возможности), но исключает / заменяет старые функции или изменяет поведение существующих (например, for
/ foreach
циклы).
Примечание: Perl6 можно считать современным perl (и он имеет много существенных изменений), но он не получил широкого распространения и должен был быть выпущен много лет назад (это Duke Nukem 4 Ever языков программирования).
Я не много занимался программированием модулей, но если память работает правильно, XS - это интерфейс между Perl и C, который, я думаю,позволяет вам компилировать ваши модули Perl для более быстрого выполнения.Рассмотрим модуль DBI PostgreSQL.Существует DBD :: PgPP , который является чистым Perl-модулем для взаимодействия с Postgres, но есть также DBD:: Pg , который, как мне кажется, компилирует часть кода с использованием C и использует преимущества некоторых других утилит ОС.Преимущество скомпилированных модулей заключается в более быстрой загрузке и выполнении (там также может быть более эффективное управление ресурсами).