место в рейтинге
  • 169282
  • 1093
  • 123
Нравится блог?
Подписывайтесь!

Неожиданно про Perl или как снова полюбить CGI

Привет,

расскажу-ка я историю про то, как я написал, как сейчас модно говорить, “веб-приложение” на немодном Perl/CGI и при этом остался жив и вмеру упитан. =)

Вот все привыкли думать, что Perl - это очень старый и странный язык. И что он особо никуда не годится, и что есть более модные языки типа Ruby и Python, которые пушистее и белее.

Кстати сказать, я вообще-то не против Python’a или Ruby, мне даже они нравятся. Просто не вижу профита менять одно шило на другое.

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

Итак, в мире Perl уже давно все очень прекрасно: есть Plack, AnyEvent, Coro, uwsgi и прочее и прочее. То есть, существует немало способов решить задачу быстро и надежно. То есть, про CGI уже все забыли.

Но это мы забыли про CGI, а вообще в мире шаред-хостинга не особо-то в курсе (притом, что немало хостингов работают на перле и, по идее, должны же как-то толкать прогресс в массы, но нет).

Но довольно отступлений. Рассказ мой посвящен возникшей задаче и ее решению на Perl. Итак, задача простая, институтская, второй курс, наверное: есть сайтик, на котором показывается каталог книг. По клику на заголовок, раскрывается инфа про книгу: автор, издательство, кол-во страниц, краткое описание. Все очень просто.

Меня смутило лишь, что задача должны крутиться на перле на шаред-хосте. То есть, никакого тебе Mojolicious. Никаких Template::Toolkit. Только CGI.

Ну и раз такая пьянка, то и базу данных лучше не трогать. И таки да, сначала я даже немного понервничал, вспоминая свои студенческие годы. Но после того, как включил воображение, оказалось, не все так плохо. Нет шаблонов? Окей, есть __DATA__, возможность встраивать текстовые даннные прямо в скрипт. Нужно только прочесть то, что ниже __DATA__ и выдать браузеру.

Чтобы не парсить этот текстовый блок перлом, я решил использовать js и с помощью ajax’a тянуть данные со своего скрипта внутрь шаблона на клиенте. Сэкономили на парсинге + сделали “современный” веб-интерфейс. Отличненько.

Как вы помните, я решил обойтись без базы данных, но передумал и воспользовался Sqlite. Впрочем, мог бы совершенно спокойно обойтись, ведь в перле есть отличная штука для сериализации данных - Data::Dumper. Она из любой переменной сделает тебе текст и его можно сохранять в файл, а при необходимости, читать файл, делать eval этой строки и дальше юзать.

Получается key-value хранилище, которому вообще ничего не нужно.

В итоге, имеем cgi-скрипт, который можно пускать почти везде и который написан часа за полтора с перерывами. А вы говорите, Perl. ;-P

 
Александер Пономарев shootnix
Квадратиш, практиш, гут.
12 марта 2014, 16:58
507

Загрузка...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Я был удивлён, что в Азербайджане есть Казахский район

Я был удивлён, что в Азербайджане есть Казахский район

Мне как казаху по национальности очень хотелось туда попасть. Оказалось, что климат там намного суровей и люди, говорят, суровые и воинственные. Казах – город на западе Азербайджана...
alidimash
18 янв. 2017 / 21:50
  • 30337
  • 18
10 лучших районов Алматы. Широкие улочки, частные дома, летом – красота!

10 лучших районов Алматы. Широкие улочки, частные дома, летом – красота!

Названия улиц: Садовый бульвар, Солнечный проезд. Красиво звучит не так ли? Прям, как в Москве... Уютные улочки и радующие глаз одноэтажные домики, тихо и свободно, нет динамики, движух и ажиотажа.
gelberdeuet
16 янв. 2017 / 14:45
  • 8612
  • 98
Многочасовые очереди, смерти в ЦОНах: почему вопросы об этом ставят парламентариев в тупик?

Многочасовые очереди, смерти в ЦОНах: почему вопросы об этом ставят парламентариев в тупик?

Ожидали ли депутаты Мажилиса всего этого? Как планировали этот процесс регистрации, и обсуждали ли его, прежде чем одним нажатием кнопки принять нормы с такими абсурдными временными рамками?
openqazaqstan
17 янв. 2017 / 14:32
  • 5036
  • 22
Астана глазами алматинских девушек. Как при таких погодных условиях можно выжить?

Астана глазами алматинских девушек. Как при таких погодных условиях можно выжить?

В спальных районах, и в высотных домах сквозь стены слышно завывание ветра. В особенности ночью. Такие звуки, я слышала, пожалуй, только по телевизору, в фильмах про метель.
Naomi_K
20 янв. 2017 / 12:36
Сильное ДТП произошло в Алматы на Тимирязева-Байзакова

Сильное ДТП произошло в Алматы на Тимирязева-Байзакова

NoComment (c) Официальный слоган EuroNews. Катастрофа на алматинской утренней трассе началась с того, что водители «Ниссана» и микровена ожидали сигнала светофора на запад по Тимирязева...
ibestreporter
17 янв. 2017 / 22:52
  • 3850
  • 5
Вейпинг безопасен? Эндрю Холл из США тоже так считал, пока что-то не пошло не так

Вейпинг безопасен? Эндрю Холл из США тоже так считал, пока что-то не пошло не так

Эндрю Холл из США считал, что вейпинг безопасен и усиленно убеждал в этом близких. Но как-то раз что-то пошло не так. Это результат взрыва хипстерского устройства - выбило 7 зубов + ожоги и раны...
Maxambet
17 янв. 2017 / 16:28
  • 3889
  • 52
Это поколение просрет страну. 20-летняя молодежь представляет из себя сказочных эльфов

Это поколение просрет страну. 20-летняя молодежь представляет из себя сказочных эльфов

Смотря в очередные пустые глаза вчерашнего студента, приходящего устраиваться на первую работу страшно становится. Потому что сравниваю с теми же китайскими студентами, которые готовы выгрызать себе мечту.
mbaitykov
18 янв. 2017 / 11:34
Становится хуже, но как-то постепенно. Беднеем, но тоже как-то не разом

Становится хуже, но как-то постепенно. Беднеем, но тоже как-то не разом

Помню, когда я уезжал и Казахстана, тут было довольно прилично, даже не смотря на то, что жить было невыносимо. Но прилично так. Мусора было меньше. Дороги чистили, вони почти не было. Да и в остальном тоже норм.
shootnix
18 янв. 2017 / 12:49
  • 3610
  • 34
Любимый Тайланд. Правящий король называет Паттайю «черным пятном на репутации страны»

Любимый Тайланд. Правящий король называет Паттайю «черным пятном на репутации страны»

Тайланд мы впервые посетили в декабре 2012 года. Полученные эмоции настолько были яркими, что в конце 2015 года мы решили еще разок слетать в Тайланд. Вспоминая Тай, первое о чем я думаю - горячий...
zhainar_d
17 янв. 2017 / 11:11
  • 3460
  • 24