NOWS/Perl

day 6.

emzei 2016. 2. 2. 22:24



  • 각종 제어문
    • Statement
    • if / unless
    • while / until
    • for
    • foreach





Statement


  • 중괄호로 둘러싸인 것
    { ... }
  • Statement 내의 마지막 문의 세미콜론은 생략 가능






if / unless


if (expression) {

true_expr; true_expr; true_expr;

} else {

false_expr; false_expr; false_expr;

}

  • 참/거짓을 판단하기 위해서, 스칼라 구문을 문자열로 변환하여 판단
  • 참(true) / 거짓(false) 예시
    • 0
      • "0"으로 변환 --> 거짓
    • 1-1
      • 0으로 계산한 뒤, "0"으로 변환 --> 거짓
    • 1
      • "1"으로 변환 --> 참
    • " "
      • 공백문자열 --> 거짓
    • "1"
      • 공백이거나 "0"이 아니므로 참
    • "00" <주의>
      • 공백이거나 "0"이 아니므로 참
    • "0.000"
      • 공백이거나 "0"이 아니므로 참
    • undef
      • 공백문자열로 계산되므로 거짓

  • unless
if ( $a < 10
{
stmt_1;
} else {
stmt_2;
}

< = same as = > 
unless ( $a < 10 )
{
stmt_2;
} else {
stmt_1;

}

  • elsif --> else if
if ( expr )
{
 ... 
} elsif ( expr ) {
 ...
} else {
 ...
}





while / until

  • while ( expr ) : expr 이 거짓이 될 때까지 반복
while ( expr )
{
...
}
stmt;
  • until ( expr ) : expr 이 참일 동안
until ( expr )
{
...
}
stmt;





do {} while / until

  • 조건을 맨 밑에서 테스트 할 때 사용
do {
...    
} while (expr)



do {
...
} until (expr)





for

  •  C 또는 Java와 유사함
for  ( initial_expr ; test_expr ; re-init_expr )
{
stmt;
...
}





foreach

  • 값들을 리스트로 받아서, 한번에 하나씩 스칼라 변수에 할당하고, 각 할당 이후 해당 코드 블록 수행
foreach $i ( @my_list ) 
{
...
}
  • 스칼라 변수 없이 사용할 수 있음 --> $_ 이용
    • $_ 변수는 Perl 연산에서 default로 사용할 수 있음.
(예)
@my_list = (1,2,3,4,5);
foreach (reverse @my_list)
{
print;
}
# 54321 을 출력




'NOWS > Perl' 카테고리의 다른 글

day 7.  (0) 2016.02.04
day 5.  (0) 2016.02.01
day 4.  (0) 2016.01.27
day 3.  (0) 2016.01.07
day 2.  (0) 2016.01.06