Pull to refresh

Comments 31

Хотя с Perl не знаком, но было интересно и поучительно читать, так сказать подглядеть: " а как там у них в другом мире ?". Напрашивается аналогия с Си (Perl) и C# (CMS, RoR...). Можно было-бы продложить и написать подобные заметки для других языков (c/php/phyton/ruby...).
Если я такое же напишу для рельсов то меня заминусуют и скажут баяяян! )
В принципе могу дело 30 минут)
для рельсов может и баян, а вот на чистом Ruby, было бы интересно
Ну здесь используется не чистый перл, а доп. модули, так что я бы не сказал, что рельсы - это из другой оперы.
И это совсем не похоже на работу с C#, в частности с ASP.NET
Тут чутка не то сравнение, рельсы - это полновесный фреймворк, аналог его в перле - это Catalyst :)
Кстати, с перлом можно работать аналогично ASP.NET, в той же манере
да, забыл добавить, что сейчас из "чистых" языков вспоминается только PHP, где в одном месте собрано почти всё. Perl же, можно сказать, исповедует другой путь, где сам по себе язык "почти" ничего не умеет, а все остальное реализовано модулями. Прямая аналогия - С/С++, в чистом виде на них ничего не сделать, в них даже ввод/вывод сделан библиотеками, и весь остальной функционал сделан так же. Я думаю, это потому, что язык изначально универсален и создавался для многих задач, в то время как PHP изначально ориентировался на WEB, потому разница в реализации. По большому счету, это выбор между набором инструментов и швейцарским ножом.
ну вот не надо :) Я еще помню времена, когда CGI параметры ручками собирались в перле. Каталист для перла это редкостное бууэээ, хотя может я просто не умею его готовить. На самом деле в перле очень сильно нехватает нормального ООП, из-за этого в нем приходиться реализовывать различные извраты. И это, пожалуйста киньте в меня ссылкой на тему того, как с перлом работать наподобии ASP.NET.
опередили вы меня немного :-)
Сразу хочу оговориться, что всей базы (аналога System.Web) в Perl конечно же нет, но есть вот такие интересные вещи.
Apache2::ASP, вот домашняя станичка этого проекта.
Так же вот еще Win32::ASP, с этим я не сталкивался, но судя по описанию вполне подходит под определение "с перлом работать наподобии ASP.NET" :-)
Господа, пожалуй не стоит путать ASP и ASP.NET, это на самом деле очень разные платформы.
В этом частном случае, когда мы говорим о встраивании кода в тело страницы, можно считать их одинаковыми. Конечно, ни о каком CLR речи не идёт.
Нет, механизмы совсем другие. Я соглашусь с вами, что perl и asp похожи, но как человек, писавший 2 года не perl и работающий сейчас с asp.net, могу сказать вам, что принцип работы кардинально разный.
Само собой :) В целом, ASP.NET можно рассматривать как некий фреймворк, в котором созданы инструменты для работы с данными и библиотеки контролов.
именно, но наш разговор начался именно с упоминанием C#, который появился уже на .NET платформе, на простом ASP C# не используется.
на чистом руби под веб насколько мне известно не пишут. Есть просто другие фреймворки. Ждем mod_rubynius!
на чистом руби под веб редко кто пишет, потому что многие узнали о нем только в связке с рельсами. и некоторые просто не понимают, что можно писать под веб без фреймворка.
и правда, про рельсы писать не стоит, потому как уже написано много очень качественных материалов - популярная технология ;)
UFO landed and left these words here
Топик написан хорошо, но, раз уж начали, необходимо логическое продолжение.
Да, вы показали, что перл может быть простым, но при этом не указали никаких его преимуществ. У вас получился код, неотличимый от аналогичного на руби/пхп/etc, никаких плюсов от использования перла тут нет. Если не продолжить, то читатель подумает — нафига мне тот же пхп, но с необходимостью инклюдить стандартные функции да еще и всякими мусорными операторами?
Не хотелось разводить холивары различными сравнениями с другими языками ;)
Согласен, что не предствил никаких преимуществ Perl, планирую сделать это дальше, насколько хватит моих познаний, но без прямых сравнений.
Все-таки я задумывал эти заметки, как обзорные, а не сравнительные, в противовес множеству статей про другие языки, тем более, что сейчас про Perl мало пишут. Кто-либо может заинтересоваться и нашего полку прибудет ;-)
нужно не доказывать кому-то, что именно эта технология спасет его от всех проблем. при всех преимуществах какого-то конкретного языка есть люди, которых даже с арматурой в руках не убедишь на него перейти. дело в привычках и личных убеждениях
если проект простой - то и хостинг дешевый. А не каждый поддерживает перл в дешевых пакетах...
перл есть почти везде, чего не скажешь о питоне и руби
Perl — когда-то я им увлекался, как-то по человечески жаль, что он уходит со сцены. Но после "другого" языка, смотреть на этот код как-то не получается.
Автору спасибо, было интересно.
я бы не сказал что он совсем уже уходит со сцены. Есть большое количество популярных сайтов, написанных на Perl, и отказываться от него никто не собирается. Уже было тут что-то на эту тему. По-моему сейчас даже программистов на перле меньше, чем вакансий.
Есть такое дело - уже наверно полгода ищем толкового Perl программиста.
Спасибо, статья супер, почти все библиотеки из примера мне пришлось писать самому вручную, по этому было интересно прочитать, плюс сейчас, как раз, рассматриваю варианты применения стандартных библиотек для будущих проектов...

Есть пара вопросов:
- например тут:
my $news = [$sch->resultset('News')->search(
{
is_put_on_main => 1
},
)];
есть ли возможность задавать более сложный where

- и есть ли возможность при вставке задавать данные хэшом а не двумя массивами? или надо делать функцию-обертку?
1. можно, любые вариации.
2. $sch->resultset('Article')->populate(
[{
name => $p{'name'},
text => $p{'text'},
author => $p{'author'},
}]);
Каждый массив - это новая запись, их можно через запяту. Внутри каждый хэш - это набор полей.

В принципе, это все есть в документации на DBIx::Class, советую просмотреть хотя бы бегло, там довольно понятно, особенно Manual :)
Спасиб. В принципе уже читаю, просто для меня важна гибкость данного инструмента, потому и спросил сразу.
где вы были года 3 назад, когда я пытался научиться перлу и ничего не понимал?!
Only those users with full accounts are able to leave comments. Log in, please.