Mojo::IOLoop, Mojo::Client и синтаксис Perl 5.10
Всем привет! :)На прошлой конференции Perl Mova YAPC::Russia 2010 меня попросили побольше показывать кода на Mojolicious.
Хочу поделиться своим кодом на Mojo::IOLoop и Mojo::Client.Пример на Mojo::IOLoop
Неблокирующий простой TCP-клиент, клиент для стрим потока frod.io.
В бинарном потоке идут теги в ascii, их нужно ловить. Раньше я это делал на POE – POE::Component::Client::Icecast. Сейчас только на Mojo::IOLoop.
Решил работу с URL реализовать через объект Mojo::Message::Request, действительно удобно и все в коробке.
Вчера по моей просьбе Себастьян Ридель добавил поддержку всех аргументов IO::Socket::INET (опция args), мне нужен был bind на порт.
Пример на Mojo::Client
Неблокирующий HTTP-клиент, клиент для moskva.fm и piter.fm.
Здесь я попытался использовать по максимуму возможности Perl 5.10, даже в свой редактор TextMate добавил раскраску новых операторов: say, given, when, default и state.
Хотел вместо регулярных выражений использовать Mojo::DOM и CSS3-селекторы, но HTML – это невалидный XML :)
Интересна вторая часть с onair. Здесь делается N-неблокирующих запросов до страниц с треком.
Очень удобно и просто получилось, раньше я писал на LWP::UserAgent, POE и AnyEvent. Сейчас только на Mojo::Client.
use Mojolicious or die;use Perl or die;JFDI
Original post http://sharifulin.livejournal.com/59291.html
Хочу поделиться своим кодом на Mojo::IOLoop и Mojo::Client.Пример на Mojo::IOLoop
Неблокирующий простой TCP-клиент, клиент для стрим потока frod.io.
В бинарном потоке идут теги в ascii, их нужно ловить. Раньше я это делал на POE – POE::Component::Client::Icecast. Сейчас только на Mojo::IOLoop.
Решил работу с URL реализовать через объект Mojo::Message::Request, действительно удобно и все в коробке.
Вчера по моей просьбе Себастьян Ридель добавил поддержку всех аргументов IO::Socket::INET (опция args), мне нужен был bind на порт.
Пример на Mojo::Client
Неблокирующий HTTP-клиент, клиент для moskva.fm и piter.fm.
Здесь я попытался использовать по максимуму возможности Perl 5.10, даже в свой редактор TextMate добавил раскраску новых операторов: say, given, when, default и state.
Хотел вместо регулярных выражений использовать Mojo::DOM и CSS3-селекторы, но HTML – это невалидный XML :)
Интересна вторая часть с onair. Здесь делается N-неблокирующих запросов до страниц с треком.
Очень удобно и просто получилось, раньше я писал на LWP::UserAgent, POE и AnyEvent. Сейчас только на Mojo::Client.
use Mojolicious or die;use Perl or die;JFDI
Original post http://sharifulin.livejournal.com/59291.html