perl - 如何在 Perl printf 表达式中包含变量?

标签 perl variables printf interpolation

如何在 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/

相关文章:

javascript - 如何在函数外部使用全局变量

C 打印出一个字符串数组

c - C 中带有 %s 参数的 printf() 和 fprintf() 调用的奇怪行为

perl - 如何在不安装 CPAN 模块的情况下安装 deps?

file - 在 Perl 中,如何避免多次打开文件

cygwin下perl.exe重映射错误

linux - 将文件名参数从 Bash 传递到 Perl

Javascript 获取先前的表单输入

php - 在 Zend Framework 2 中使用 mysql 用户变量

sprintf 中字符串内的 C 宏