본문 바로가기
Programming/Perl

Perl 제어문

by NAMP 2009. 4. 9.

제어문 2009/04/09 

LABEL 사용

1
2
3
4
5
6
7
8
9
10
$dan = 10;

LABEL1: foreach $f(1..$dan) {
LABEL2:          foreach(1..$dan){
                                last LABEL1 if $f==4;          
                                print "$f * $_ = ".$f*$_."\t\t";
                                print "\n" if ($_%3==0) ;                
                        }
                        print "\n"."="x60 ."\n";
                }

Output:

1
2
3
4
5
6
7
8
1 * 1 = 1              1 * 2 = 2               1 * 3 = 3               
1 * 4 = 4               1 * 5 = 5               1 * 6 = 6               
1 * 7 = 7               1 * 8 = 8               1 * 9 = 9               
1 * 10 = 10             
============================================================
2 * 1 = 2               2 * 2 = 4               2 * 3 = 6               
2 * 4 = 8               2 * 5 = 10              2 * 6 = 12              
2 * 7 = 14              2 * 8 = 16              2 * 9 = 18              
2 * 10 = 20             
============================================================
3 * 1 = 3               3 * 2 = 6               3 * 3 = 9               
3 * 4 = 12              3 * 5 = 15              3 * 6 = 18              
3 * 7 = 21              3 * 8 = 24              3 * 9 = 27              
3 * 10 = 30             
============================================================

반복문의 흐름제어

  • last
  • next
  • redo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(1..5){
        print "Input Password ".$_ ."th: ";
        $pass=<>;
        chomp $pass;
        if($pass eq "passwd"){
                print "congratulation !!\n";
                last;
        }
        if($pass eq "pass"){
                print "be inconvenienced ... \n";
                redo;
        }
}
print "End !\n";

do 

1
2
3
4
5
6
7
$x = do{
        print "hi\n";
        print "Hello\n";
        print "wolrd\n";
};

$x;

Output:

1
2
3
hi
Hello
wolrd

while 문 이란?

조건이 참일 때 계속적으로 명령을 반복하는 제어문.

do{print "Quit:^z > ";
$sum+=$_;
}while(<>);
print "Total sum = $sum";

foreach 문 이란?

/ 요소의 수 만큼 반복하는 제어문 / 배열에서 효율적으로 쓰임 / 변수를 생략가능 / 

 

구구단 출력코드 

1
2
3
4
5
6
7
8
9
10

 

$dan = 9;   # 단수 지정.

foreach $f(1..$dan){
        foreach(1..$dan){
                print "$f * $_ = ".$f*$_."\t";
                print "\n" if ($_%3==0)         #3개마다 행바꿈. 
        }
        print"\n";
}

print $_." " foreach (1..9);

1
2
3
print "Input Num : ";
$sum+=$_  foreach (1..<>);
print "Sum = $sum\n";

Output:

1
Input Num : Sum =

 

1부터 n까지의 합을 구하는 코드 

1
2
3
4
5
6
7
print "Input number : ";
$num1=<>;

for ($i=1;$i<=$num1;$i++) {
        $total+=$i
}
print "Sum = $total\n";

Output:

1
Input number : Sum =

제어문이란?

순차적인 흐름을 통제하는 명령

조건에 대응하여 다양한 처리 가능

제어문을 이용한 입력 비교 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
print "Input Num1  :" ;
$num1 =<>;

print "Input Num2  :" ;
$num2 =<>;

if($num1==$num2){
        print "Number1 identical to Number2!\n";
}elsif($num1>$num2){
        print "Number1 greater than Number2!\n";
}else{
        print "Number1 less than Number2!\n";
}

Output:

1
Input Num1  :Input Num2  :Number1 identical to Number2!

 

if문을 통한 제어문 코드

1
2
3
4
5
6
7
8
9
10
11
print "Input Num  :" ;
$num = <>;
$num +=0;            # 정수형 형변환.
if($num==1){
        print "One!\n";
}elsif($num==2){
        print "Two!\n";
}else{
        print "That's not 1 or 2.\n";
}

Output:

1

 

Input Num  :

 

 

이 글은 스프링노트에서 작성되었습니다.

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

Perl 파일 다루기  (0) 2009.04.23
do  (0) 2009.04.10
Perl 연상배열  (0) 2009.04.08
Perl 배열 / 연산자  (0) 2009.04.07
pl - Strawberry Perl 설치하기  (2) 2009.04.06

댓글