Метод Param контроллера от версии к версии Mojolicious

18 марта 2015 Perl

Часто от проекта к проекту копируются какие-то куски кода. Это в свою очередь порой оказывается причиной неожиданных ошибок.

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

Сначала был такой код:

# mojolicious до версии 6

foreach ( map { (/^count-(\d+)/) } $self->param ) {
	...
	$self->param("count-$_")
	...
}

А документация раньше выглядела так:

mojolicious ver 5 param

... где метод Param контроллера возвращал список всех имён переданных параметров.

Теперь документация выглядит так:

mojolicious ver 6 param

Пример со списком всех параметров пропал. Он действительно был исключён в шестой версии Mojolicious, но это как-то осталось упущенным.

Теперь для перебора всех переданных параметров работает такая конструкция:

# mojolicious начиная с версии 6

foreach ( map { (/^count-(\d+)/) } @{$self->req->params->names} ) {
	...
	$self->param("count-$_")
	...
}