🐧 1. 제어문과 반복문
Perl은 텍스트 처리 & 시스템 관리부분에서 강력한 기능을 담당하는 스크립트 언어로, 조건문과 반복문을 통한 프로그램의 흐름을 제어할 수 있기에, 프로그래밍에서 제어문(Control Statement)은 프로그램 흐름을 조건에 따라 바꾸거나 반복하게 만드는 핵심 구조 입니다.
🐧 2. 조건문(Conditional Statements)
Perl에서 조건문은 특정한 조건이 만족할 때만 코드가 실행되도록 하며, Perl에서는 대표적으로 if, unless, else, elseif를 사용하여 조건문을 형성합니다.
💠 2-1. if 문
가장 기본적인 조건문으로, 조건이 참(true)일 때문 블록 안의 코드를 실행합니다. 조건이 거짓이면 아무런 동작도 하지 않습니다.
use DateTime;
# if 문
my $WhiteDay = "";
my $dt_now = DateTime->now;
my $date_day = DateTime->new(year=>2026, month =>3, day=> 14);
if ($dt_now < $date_day) {
print "White Day is 2026-3-14 Saturday"
}
- $dt_now 현재 날짜보다 $date_day 2026년 화이트 데이보다 더 과거라면 출력
- 조건이 거짓이라면 아무런 동작도 ❌
💠 2-2. else 문
else문은 조건이 거짓일 때 실행하는 코드입니다.
print "Enter 'a' Attack key: ";
my $keyboard = <STDIN>;
chomp $keyboard;
if ($keyboard eq "a") {
print "Player Attack"
} else {
print "Exit!"
}
- 키보드 "a"를 누르면 공격, 다른키는 나가기를 구현함
💠 2-3. elsif 문
else-if문은 여러 조건을 순차적으로 검사할 때 사용되며, elseif 가 아닌 elsif 로 사용합니다.
use strict;
use warnings;
my $user = "zelda world";
print "Welcome to the ${user} \n";
print "Please choose a profile: \n";
print "1.${user} \n";
print "Enter your profile: ";
my $choice = <STDIN>;
chomp $choice; # Remove the New Character
if ($choice == 1) {
print "- The Legend of Zelda: Tears of the Kingdom\n";
print "- Super Mario Worlds\n";
} elsif ($choice == 2) {
print "- No Profile"
} else {
print "No Profiles, Please your Create Profile"
}
- 실행 시 $user가 먼서 실행되 로그인된 유저 선택
- 유저 선택 시 보유한 게임 목록 보여줌 만약 프로필이 없거나 2번 프로필을 선택 시 elsif 와 else 실행
💠2-4. unless 문
unless문은 if의 반대 조건인 거짓(false)일 때 블록을 실행합니다.
my $americano = 4;
unless ($americano >= 5) {
print "americano is 4Kcal"
}
💠 2-5. 조건문의 단축형
Perl 에서는 단일 명령문이면 중괄호를 생략하고 한 줄로 작성이 가능합니다.
print "성인입니다. \n" if $age >= 18;
print "미성년자입니다. \n" unless $age >= 20;
🐧 3. 반복문(Loops)
반복문은 동일한 작업을 여러 번 반복 실행하도록 하는 문법으로, Perl에서 자주 쓰이는 반복문은 while, until, for, foreach가 있습니다.
💠 3-1. while 문
조건이 참일 동안 계속 반복
my $s = 0;
while ($s < 6) {
print "$s/n\n";
$s++;
}
- $i < 6 조건이 거짓이 될때 까지 반복하다 6번째가 되면 반복 종료
- 출력: 0/n ~ 5/n
💠 3-2. until 문
while과 반대이며 조건이 거짓인 동안 반복함
my $s = 0;
until ($s >= 5) {
print "$s/n\n";
$s++;
}
- 조건이 참이 되면 반복 종료
- 출력: 0/n ~ 4/n
💠 3-3. for 문
범위를 지정하여 반복할 때 사용함
for (my $s = 0; $s < 5; $s++) {
print "$s\n";
}
- 초기값, 조건, 증감식을 한 줄에 작성
- 다른 언어(C, Java, Python)과 비슷한 구조
💠 3-4. foreach 문
foreach는 리스트나 배열의 각 요소를 반복 처리할 때 사용
my @movies = ("Harry Potter", "The Lord of the Rings", "Back To The Future Trilogy", "Terminator");
foreach my $movie (@movies) {
print "$movie\n";
}
- 출력: Harry Potter, The Load of the Rings, Back To The Future Trillogy, Terminator
- 배열 요소마다 한 번씩 $movie 변수에 값이 들어감
💠 3-5. 반복문 제어
for (my $i = 0; $i<5; $i++) {
next if $i == 2; # 2는 넘어감
print "$i\n";
}
- 출력: 0 1 3 4
- last: 반복문 즉시 종료
- next: 다음 반복으로 건너뜀
- redo: 현재 반복을 다시 시작(조건 재검사 없이)
GitHub - Koras02/Perl-Bloging: https://thinky.tistory.com/category/Back-End/Perl
https://thinky.tistory.com/category/Back-End/Perl. Contribute to Koras02/Perl-Bloging development by creating an account on GitHub.
github.com
'Back-End > Perl' 카테고리의 다른 글
[Perl] 8장 함수와 서브루틴 - 서브루틴 선언과 호출 (0) | 2025.09.04 |
---|---|
[Perl] 6장 입출력 함수 (0) | 2025.08.24 |
[Perl] 5장 문자열 처리 기본 (0) | 2025.08.15 |
[Perl] 4장 기본 연산자 (2) | 2025.08.13 |
[Perl] 3장 Perl - 주석과 들여쓰기 (0) | 2025.08.12 |