我想使用Perl的
sprintf来对变量进行零填充.
sprintf("%08d",$var);
但我想动态确定zerofill有多少位数.
如何使用名为$zerofill的变量替换sprintf中的“8”(“?d”,$var)?
解决方法
sprintf的第一个参数只是一个字符串:
my $zerofill = 9; my $number = 1000; my $filled = sprintf "%0${zerofill}d",$number;
注意大括号将变量名称与字符串的其余部分分开.
我们将此特殊问题作为Learning Perl中的一个稍微聪明的练习来提醒人们字符串只是字符串.