Perl序列的数字与前导零

Eug*_*sky 1 perl sequence leading-zero

是否有一些简单的方法(没有sprintf,当然,还有printf)获得(001, 002, ... 100)Perl 的列表?在bash中它就像是seq -w 1 100.Perl怎么样?

Ger*_*ard 6

你的意思是这样的?

for ('001'..'100') {
    print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

.. 在一个范围内,返回一个按值计数的值列表,从左值到右值.

有关如何使用范围的更多详细信息,请参阅: Perldoc范围运算符此链接


Edw*_*uck 6

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

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

%“开始格式序列” 是0“前导零” 是3“最少三位数字” 是d“将参数视为数字(整数)”