Perl printf中的转换无效

Alf*_*ons 2 perl printf

我有一个错误代码:

Invalid conversion in printf: "%A"' printing %A characters in a URL
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

$url =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;
printf "%-10s $url\n", $res_request{$key};
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

非常感谢,AL

yst*_*sth 10

而不是放入$url格式字符串,使用%s格式:

printf "%-10s %s\n", $res_request{$key}, $url;
Run Code Online (Sandbox Code Playgroud)

(您不应该将变量插入到格式字符串中,该格式字符串中包含可能被误认为格式化代码的部分.)