C나 Java 등 여타 다른 언어에서는 while 문 등 반복문을 사용할 때 break, continue를 자주 이용하게 됩니다.
특히 break 문장은 매우 자주 사용하게 되죠
펄에서도 마찬가지로 break, continue 기능을 하는 구문이 있습니다.
단, break, continue가 아닙니다.
break는 last, continue는 redo 또는 next 입니다.
last의 기능은 일반적인 break와 같습니다.
while문을 하다가 last를 만나면 그 반복문을 빠져나오게 되죠
근데 continue 기능을 하는 redo, next가 조금 헷갈립니다.
2개가 있으니까요
그 차이점과 사용 방법을 알아볼까합니다.
먼저 last; 입니다.
while을 계속 실행하고 있습니다(무한 루프라고 가정)
근데 어느 조건 if 문을 만나면 last가 나오게 됩니다.
그러면 주석에 써놓아져 있는 것 같이 반복문을 빠져나가게 됩니다.
만약 숫자를 입력받는다고 가정하죠
10 이상의 값이 나오면 if(num >= 10) last; 하게 합니다.
그리고 10 미만이면 계속 반복을 돌게 합니다.
while(true){ if(num >= 10) { last; } }
간단하게 자면 이렇게 말이죠
if 문 전에 당연히 값을 받는 STDIN이 있어야겠죠?
이런 식으로 사용할 수 있습니다.
그리고 만약 숫자를 출력하는 프로그램을 짰다고 가정합시다
여기서 홀수만 출력하고 싶어요
그러면 짝수일 땐 반복문에서 넘어가야겠죠?
while(a < 10)
{
if(a % 2 == 0) next; //또는 redo;
}
로 한다고 가정하죠
그러면 2로 나누어지면 그냥 넘어가게 될 것입니다.
그럼 next;와 redo의 차이점은 무엇일까?
그 차이점은 아래와 같습니다.
넘어가지는 영역이 다르죠
보통 next가 기존 프로그래밍 하셨던 분들에게 익숙한 continue입니다.
redo는 좀 덜 친숙한 위치로 가죠~
아무튼 이렇게 사용할 수 있습니다!
참고하시길!
'perl' 카테고리의 다른 글
펄(perl) 문자(문자열) 찾기, 문자열 자르기(index 함수, substr 함수) (0) | 2017.11.14 |
---|---|
펄(perl) 정렬(sort) 제대로 해보자(<=>를 이용) (0) | 2017.11.14 |
펄(perl) 디렉토리 핸들링(디렉토리 변경, 파일 검색) (0) | 2017.11.13 |
펄 파일 입출력(perl fileio) 공부 (0) | 2017.10.31 |
펄 문자열 split(자르기), join(붙이기) (0) | 2017.10.30 |