代码之家  ›  专栏  ›  技术社区  ›  snakespan

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

  •  0
  • snakespan  · 技术社区  · 7 年前

    我想找出与此相反的方法:

    Perl - How can I turn a hash into a query string?

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

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

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

    似乎爆炸了

    无法通过包“URI::Query”定位对象方法“new”

    1 回复  |  直到 7 年前
        1
  •  2
  •   simbabque    7 年前

    这个 URI 模块与drop-in插件结合使用 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
    

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