Попробуйте что-то вроде этого:
foreach (1 .. 99) {
$s = sprintf("%02d",$_);
print "$s\n";
}
..
называется оператором диапазона и может делать разные вещи в зависимости от контекста Мы используем его здесь в контексте списка, чтобы он отсчитывал от левого до правого значения. Итак, вот простой пример его использования; этот код:
@list = 1 .. 10;
print "@list";
имеет такой вывод:
1 2 3 4 5 6 7 8 9 10
Функция sprintf
позволяет нам форматировать вывод. Строка формата %02d
разбита следующим образом:
%
- начало строки формата
0
- использовать ведущие нули
2
- шириной не менее двух символов
d
- форматировать значение в виде целого числа со знаком.
Итак, %02d
- это то, что превращает 2
в 02
.