如何在一行中使用perl的uri_encode

use*_*369 3 html macos perl html-entities

在过去,我已经使用代码echo "&lt;one two&gt;" | perl -MHTML::Entities -ne 'print decode_entities($_)'输出<one two>.

现在我想做类似的事情,但我希望以echo "one two" | *perl magic*输出one+two或者可能的方式对其进行编码one%20two.

我想要一个命令,它可以对整个字符串进行这种url编码,可以像第一个例子那样使用管道传输.

Gil*_*not 7

尝试使用适当的模块 =)

$ echo 'one two' | perl -MURI::Escape -wlne 'print uri_escape $_'
one%20two
Run Code Online (Sandbox Code Playgroud)

请参阅URI :: Escape doc

注意

如果您需要更快的东西,请考虑使用URI :: Escape :: XS