将查询字符串转换为哈希 perl



我想找出与此相反的操作:

Perl - 如何将哈希转换为查询字符串?

我有一个字符串化的查询字符串形式,并希望将其转换为哈希。

有了更多的上下文,客户端正在传递一些 URL 参数作为 base64 编码的字符串化查询表单,我想解码,变成哈希,向哈希添加更多自定义 URL 参数,然后我有一个已经转换回字符串并附加到 URL 的方法。

my $uriQuery = URI::Query->new($redirectQueryParams);
$qs = $uriQuery->hash;

似乎爆炸了

无法通过包"URI::查询"找到对象方法"new"

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

如果你真的想要一个哈希,你可以调用query_form_hash方法。

$uri->query_form_hash

但是,考虑到您能想到的所有更改都已经实现,这没有多大意义。

最新更新