如何在 printf 表达式中包含变量?
这是我的例子:
printf "%${cols}s", $_;
哪里
$cols
是列数和
$_
是一个字符串。该语句导致“无效转换”警告。
问题最终是我忘了 chomp 变量。嘎。谢谢大家。
最佳答案
您的内插变量 $cols
看起来它应该是一个数字,比如 10,所以
"%${cols}s"
应该插值并等价于
"%10s"
这是一个有效的格式字符串。
然而如果
$cols
不是数字或有效格式字符串,您会收到警告。例如,如果:
$cols = "w";
这将导致
"%ws"
作为格式字符串 - 给出您引用的错误:Invalid conversion in printf: "%w"
有效格式信息可在 here 中找到.
关于perl - 如何在 Perl printf 表达式中包含变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284344/