수색…


조건부

Perl은 여러 종류의 조건문 (부울 결과에 기반한 명령문)을 지원합니다. 가장 일반적인 조건문은 if-else, unless 및 ternary 문입니다. given 문장은 C에서 파생 된 언어의 스위치와 같은 구문으로 소개되며 Perl 5.10 이상의 버전에서 사용할 수 있습니다.

If-Else 문

if 문의 기본 구조는 다음과 같습니다.

if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK

간단한 if 문의 경우 if는 실행될 코드 앞에 또는 뒤에 올 수 있습니다.

$number = 7;
if ($number > 4) { print "$number is greater than four!"; }

# Can also be written this way
print "$number is greater than four!" if $number > 4;

루프

Perl은 / foreach, for / do-while 및 until과 같은 여러 가지 루프 구문을 지원합니다.

@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
    print "$numbers[$i]\n";
}

#Can also be written as
foreach my $num (@numbers) {
    print "$num\n";
}

while 루프는 연관된 블록을 실행 하기 전에 조건을 평가합니다. 그래서 때로는 블록이 실행되지 않습니다. 예를 들어, 파일 핸들 $fh 가 빈 파일의 파일 핸들이거나 조건문보다 먼저 소모 되었다면 다음 코드는 실행되지 않습니다.

while (my $line = readline $fh) {
    say $line;
}

반면 do / whiledo / until 루프는 블록이 실행될 때마다 조건 평가합니다. 따라서 do / while 또는 do / until 루프는 항상 적어도 한 번 실행됩니다.

my $greeting_count = 0;
do {
    say "Hello";
    $greeting_count++;
} until ( $greeting_count > 1)

# Hello
# Hello


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow