如何使用perl命令从URL读取查询参数值

如何使用perl命令从URL读取查询参数值,perl,bash,url,Perl,Bash,Url,在shell中,我需要从URI中提取特定的查询参数 我试着用它来获得“偏移”值 echo”/mypath/index.php?offset=20&query=uro“| perl-MURI-le”chomp($url=);打印URI->新建($url)->查询表单(“偏移量”)' 但它总是只返回offset=20&query=uro 请帮助返回哈希,将脚本更改为: perl -MURI -le 'chomp($url = <>); print +{URI->new($url)

在shell中,我需要从URI中提取特定的查询参数

我试着用它来获得“偏移”值

echo”/mypath/index.php?offset=20&query=uro“| perl-MURI-le”chomp($url=);打印URI->新建($url)->查询表单(“偏移量”)'
但它总是只返回
offset=20&query=uro

请帮助

返回哈希,将脚本更改为:

perl -MURI -le 'chomp($url = <>); print +{URI->new($url)->query_form}->{offset}'
您可以使用核心模块:

除了。还可以使用模块。提供查询参数值

echo "/mypath/index.php?offset=20&query=uro" | perl -MURI -le 'use URI::QueryParam; chomp($url = <>); print URI->new($url)->query_param(offset);'
echo”/mypath/index.php?offset=20&query=uro“| perl-MURI-le”使用URI::QueryParam;chomp($url=);打印URI->新建($url)->查询参数(偏移量);'

出于一个奇怪的原因,它不适用于管道输入。。。这很重要,因为我正在提取该字符串there@glaz666
CGI
需要一个查询作为脚本的参数。您可以使用
echo”/mypath/index.php?offset=20&query=uro“| perl-MCGI=param-e'@ARGV=;print param(“offset”)”
如何为输出中的每一行打印“offset”,例如:echo“/mypath/index.php?offset=20&query=uro\n/mypath2/index.php?offset=30&query=uro”
perl -MURI -nle 'print +{URI->new($_)->query_form}->{offset}'
perl -MCGI=param -e 'print param("offset")' "index.php?offset=20&query=uro"
echo "/mypath/index.php?offset=20&query=uro" | perl -MURI -le 'use URI::QueryParam; chomp($url = <>); print URI->new($url)->query_param(offset);'