Perl - 如何将散列转换为查询字符串? [英] Perl - How can I turn a hash into a query string?

查看:104
本文介绍了Perl - 如何将散列转换为查询字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将散列转换为查询字符串?我想找到一个不涉及使用CGI模块的解决方案。下面是我想要做的一个例子,但不知道最好和最优雅的方法是什么,因为我对Perl比较陌生。

散列:

  my $ data = {
'key1'=> 'value1',
'key2'=> 'value2',
'key3'=> 'value3',
'key4'=> 'value4'
};

到所需的查询字符串:

  key1 = value1& key2 = value2& key3 = value3& key4 = value4 


解决方案

 使用URI qw(); 
my $ url = URI-> new('','http');
$ url-> query_form(%$ data);
my $ query = $ url-> query;

如果您真的想要构建POST请求,请查看 POST


How can I turn a hash into a query string? I would like to find a solution that doesn't involve using the CGI module. Here's an example of what I'm wanting to do but don't know what the best and most elegant approach would be, since I'm relatively new to Perl.

Hash:

my $data = {
         'key1' => 'value1',
         'key2' => 'value2',
         'key3' => 'value3',
         'key4' => 'value4'
};

To desired query string:

key1=value1&key2=value2&key3=value3&key4=value4

解决方案

use URI qw( );
my $url = URI->new('', 'http');
$url->query_form(%$data);
my $query = $url->query;

If you're actually trying to build a POST request, check out HTTP::Request::Common's POST.

这篇关于Perl - 如何将散列转换为查询字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆