Saturday, August 19, 2006
Perl(펄) 강좌] next if문의 의미; if조건문을 짧게 축약하기
next 는 루프(Loop) 안에서, 현재 항목에 대한 작업을 생략하고 다음 항목으로 건너뛰게 하는 것입니다.
배열 속의 이름들을 하나씩 출력하는데, 만약 그 이름 속에 숫자가 섞여 있으면, 출력을 생략하고, 다음 이름을 계속 출력하는 예제입니다.
그런데 펄에서는 if문에 많은 타이핑이 필요합니다. C언어와 달리, {} 괄호를 생략할 수 없기 때문입니다. 그래서 짧게 쓰는 지름길을 제공합니다.
이것을
이렇게 순서를 바꾸어 쓰는 것입니다. 즉 if문의 조건에 일치할 때 실행할 문장을 if 앞에 배치하는 것입니다. 이러면 모든 괄호를 생략할 수 있어 더 빠르게 타이핑할 수 있습니다. 단, 복잡한 조건문일 때는 이런 식으로 하면 에러가 날 수 있습니다.
쉬운 예제
배열 속의 이름들을 하나씩 출력하는데, 만약 그 이름 속에 숫자가 섞여 있으면, 출력을 생략하고, 다음 이름을 계속 출력하는 예제입니다.
#!/usr/bin/perl
use strict; use warnings;
my @foo = qw/ 맹구 마당쇠 BigShow WinXP 이소룡 Win98 똘똘이 북가좌3거리 /;
# 변칙적(?)인 if문
foreach (@foo) {
next if $_ =~ /\d/; # 숫자가 섞인 이름이면 아래 작업을 취소하고, 다음 요소로 계속
print $_, "\n";
}
# 원칙적인 if문
foreach (@foo) {
if ($_ =~ /\d/) { next; }
print $_, "\n";
}
use strict; use warnings;
my @foo = qw/ 맹구 마당쇠 BigShow WinXP 이소룡 Win98 똘똘이 북가좌3거리 /;
# 변칙적(?)인 if문
foreach (@foo) {
next if $_ =~ /\d/; # 숫자가 섞인 이름이면 아래 작업을 취소하고, 다음 요소로 계속
print $_, "\n";
}
# 원칙적인 if문
foreach (@foo) {
if ($_ =~ /\d/) { next; }
print $_, "\n";
}
그런데 펄에서는 if문에 많은 타이핑이 필요합니다. C언어와 달리, {} 괄호를 생략할 수 없기 때문입니다. 그래서 짧게 쓰는 지름길을 제공합니다.
if ($_ =~ /\d/) { next; }
이것을
next if $_ =~ /\d/;
이렇게 순서를 바꾸어 쓰는 것입니다. 즉 if문의 조건에 일치할 때 실행할 문장을 if 앞에 배치하는 것입니다. 이러면 모든 괄호를 생략할 수 있어 더 빠르게 타이핑할 수 있습니다. 단, 복잡한 조건문일 때는 이런 식으로 하면 에러가 날 수 있습니다.
tag: perl
Perl | 펄
<< Home