2017-09-29 5 views
1

Perlで(001, 002, ... 100)のリストを取得するには簡単な方法がありますか(sprintfなし、もちろんprintf) bashでは、それはseq -w 1 100のようなものでした。 Perlはどうですか?数字の先頭に0が付きます

+2

ほとんどの実用的な目的のために、「001」..「100」はそのリストをきれいに作成するはずです。 – tjd

+0

素晴らしい!それを知らなかった。 –

+0

@evb:なぜ*あなたは 'sprintf'を使いたくないのですか? – Borodin

答えて

7

このような意味ですか?範囲内

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

..、左の値から右の値に、ものによってカウント値のリストを返します。

範囲を使用する方法の詳細については、を参照してください。 Perldoc range operatorとのprintfは、このような問題のために作成された

+0

'..'演算子について説明したいかもしれません。 – simbabque

+0

私は文書への参照を入れます – matiit

+0

はい、それです!リンクありがとう! –

3

this link。それを使用すると、あなたが望む答えをより速く得るのに役立ちます。

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

%は、「フォーマットシーケンスを開始」である 0である「先行ゼロ」 3は「(整数)の数字としてパラメータを扱う」

dが「3桁最小」であります
+0

OPは 'sprintf'を要求しませんでした。おそらく 'printf'にも当てはまります。 – tjd

+0

はい、ただしOP状態_without sprintf_ –

+0

私は "sprintf"がPerlチュートリアルとは関係がない理由はないと思います。基本的に、彼らは "sprintf"でフォーマットを教え、何とか彼らは "printf"を持っているという大きな方法で広告を避けます。 "sprintf"を見れば、後で "印刷"することができます。避けてください。 –

関連する問題