В добавлении метода to_json (для преобразования благословенных ссылок через JSON.pm) в CGI :: Cookie, если я делаю это: ошибкуДействительно странно Perl ошибка синтаксиса, добавив метод to_json к пакету
package CGI::Cookie;
sub TO_JSON {
return {
map { name => $_->name,
value => $_->value,
domain => $_->domain,
path => $_->path,
expires => $_->expires }
shift
}
}
синтаксиса на XXX.pm линии 76, возле "сдвига" ошибка синтаксиса в XXX.pm линии 77, возле "}" Компиляция не удалось в требуют в (Eval 50) линии 3.
Но если я это сделать:
package CGI::Cookie;
sub TO_JSON {
return {
map { ''.'name' => $_->name,
value => $_->value,
domain => $_->domain,
path => $_->path,
expires => $_->expires }
shift
}
}
не работает
Не может для меня жизнь выяснить почему. Также просто не цитирует «имя». I должны конкатенировать пустую строку, чтобы она работала.
Я озадачен.
Спасибо. Очень странно, хотя, поскольку предполагается, что кодовым блоком является предпочтительным первым аргументом для map(), я бы подумал, что это будет первое, что предположил бы Perl. Это произведение также хорошо: package CGI :: Cookie; югу to_json { возвращения { отображения {; имя => $ _-> имя, значение значения => $ _-> домен => $ _-> домен, путь => $ _-> путь, expires => $ _-> expires} shift } } –