带前导零的 Perl 数字序列

Perl sequence of numbers with leading zeros

是否有一些简单的方法(没有 sprintf,当然还有 printf)在 Perl 中获取 (001, 002, ... 100) 的列表? 在 bash 中,它类似于 seq -w 1 100。 Perl 呢?

你的意思是这样的?

for ('001'..'100') {
    print "$_\n";
}

.. 在一个范围内,returns 一个值列表,从左值到右值。

更多range的使用方法请参考: Perldoc range operator and this link

Printf 就是为解决此类问题而创建的。使用它可以帮助您更快地获得想要的答案。

foreach my $number ( 1 .. 100 ) {
     printf "%03d\n", $number;
}

% 是 "begin a format sequence" 0 是 "leading zeros" 3 是 "three digits minimum" d 是 "treat the parameter as digits (integer)"