때로는 동일한 코드 블록을 여러 번 실행해야 할 수도 있습니다. 일반적으로 명령문은 순차적으로 실행됩니다. 함수의 첫 번째 명령문이 먼저 실행되고 두 번째 명령문이 이어서 실행됩니다.
프로그래밍 언어는 보다 복잡한 실행 경로를 위해 다양한 제어 구조를 제공합니다.
루프 문을 사용하면 명령문 또는 명령문 그룹을 여러 번 실행할 수 있습니다. 다음은 대부분의 프로그래밍 언어에서 루프 문의 순서도입니다.

참고로 숫자 0, 문자열 '0', "", 빈 목록(), undef는 false 이고 다른 값은 모두 true 입니다. ! 앞에 true를 사용하거나 사용 하지 않으면 false가 반환됩니다.
Perl 언어는 다음과 같은 루프 유형을 제공합니다.
| 루프 유형 | 설명하다 |
|---|---|
while 루프 | 주어진 조건이 true일 때 명령문 또는 명령문 그룹을 반복적으로 실행합니다. 루프 본문이 실행되기 전에 조건이 테스트됩니다. |
루프까지 | 주어진 조건이 true가 될 때까지 명령문 또는 명령문 그룹을 반복적으로 실행합니다. 루프 본문이 실행되기 전에 조건이 테스트됩니다. |
for 루프 | 일련의 명령문을 여러 번 실행하여 루프 변수를 관리하는 코드를 단순화합니다. |
foreach 루프 | foreach 루프는 목록 또는 컬렉션 변수의 값을 반복하는 데 사용됩니다. |
do...while 루프 | 루프 본문 끝에서 조건을 테스트한다는 점을 제외하면 while 문과 유사합니다. |
중첩 루프 | while, for 또는 do..while 루프 내에서 하나 이상의 루프를 사용할 수 있습니다. |
루프 제어 문은 코드 점프를 달성할 수 있는 코드의 실행 순서를 변경합니다.
Perl은 다음과 같은 루프 제어 명령문을 제공합니다.
| 제어문 | 설명하다 |
|---|---|
다음 진술 | 다음 문의 다음 문부터 루프 본문의 끝 식별자까지 문 실행을 중지하고 계속 문 블록의 실행으로 전환한 후 루프 본문의 시작 부분으로 돌아가서 다음 루프 실행을 시작합니다. |
마지막 진술 | 루프 문 블록을 종료하여 루프를 종료합니다. |
계속 진술 | continue 문 블록은 일반적으로 조건문이 다시 평가되기 전에 실행됩니다. |
다시 실행 문 | redo 문은 루프 본문의 첫 번째 줄로 직접 이동하여 이 루프를 반복적으로 실행하기 시작합니다. redo 문 뒤의 문은 더 이상 실행되지 않으며 continue 문 블록도 더 이상 실행되지 않습니다. |
goto 문 | Perl에는 got LABLE, goto EXPR 및 goto &NAME의 세 가지 형태의 goto가 있습니다. |
조건이 결코 거짓이 되지 않으면 루프는 무한 루프가 됩니다.
for 루프는 무한 루프를 구현하기 위해 전통적인 의미로 사용될 수 있습니다.
루프를 구성하는 세 가지 표현식 중 어느 것도 필요하지 않으므로 조건식 중 일부를 비워 두어 무한 루프를 형성할 수 있습니다.
Ctrl + C 키를 눌러 루프를 종료할 수 있습니다.
조건식이 없으면 true로 간주됩니다. 초기값과 증분식을 설정할 수도 있지만 일반적으로 Perl 프로그래머는 무한 루프를 표현하기 위해 for(;;) 구문을 사용하는 것을 선호합니다.