2017-09-29 17 views
1

Perl에서 (001, 002, ... 100)의 목록을 얻는 쉬운 방법이 있습니까 (sprintf없이, 물론 printf)? bash에서 그것은 seq -w 1 100과 같았습니다. Perl은 어떻습니까?0으로 시작하는 숫자의 Perl 시퀀스

+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하다 "앞에 0" 3는 "(정수) 자리수 파라미터 치료"

d는 "세 자리 최소"인
+0

OP가 'sprintf'를 요청하지 않았습니다.아마도 그것은'printf'에도 적용될 것입니다. – tjd

+0

예,하지만 OP 상태 _without sprintf_ –

+0

"sprintf"라는 이유가 Perl 자습서와 관련이 있다고 생각합니다. 기본적으로, 그들은 "sprintf"로 서식을 가르치고, 어떻게 든 "printf"를 가지고있는 큰 방법으로 광고를 피합니다. "sprintf"를 보았 으면 나중에 "인쇄"할 수 있었고, 그것은 어색해하고, 우아하고, 뭔가있을 것입니다. 피하십시오. –