我想知道如何做到与此相反:
Perl - How can I turn a hash into a query string?
我有一个字符串化的查询字符串表单,并希望将其转换为哈希值。
有了更多的上下文,客户端传递一些URL参数作为base64编码的字符串化查询表单,我想解码,变成哈希,在哈希中添加一些自定义URL参数,然后我有一个方法已经转换回字符串并附加到URL。
my $uriQuery = URI::Query->new($redirectQueryParams);
$qs = $uriQuery->hash;
似乎爆炸了
找不到对象方法" new"通过包" URI ::查询"
答案 0 :(得分:2)
URI模块与插入式插件URI::QueryParams一起可以满足您的需求。
use strict;
use warnings;
use URI;
use URI::QueryParam;
my $uri = URI->new('https://example.org/?foo=bar&baz=qrr');
$uri->query_param_append(frobnication => 'yes, please');
print $uri;
这将打印
https://example.org/?foo=bar&baz=qrr&frobnication=yes%2C+please
如果您确实想要哈希,可以拨打the query_form_hash
method。
$uri->query_form_hash
然而,考虑到你能想到的所有改变都已经实现,这没有多大意义。