자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[Perl] 7장 조건문과 반복문

728x90

🐧 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

 

728x90
LIST