>> Delete No. 170 article
No. 초가 33 ☞ 초보용 Perl 스크립트 4

등록 1999-07-15 02:58:00     조회 4
이름 쉬이이    

5. 흐름의 조절  많은 CGI는 대부분 선형적인 프로그램 구조를 가진다. 하지만, Perl은 많은 
제어 명령어를 포함, 여러 조건을 제어 할 수 있으므로 제어 언어라 불린다. 5.1 if 와 while  
   Perl 의 if 문은 C의 if 문과 비슷하다. ☞간단한 예 [root@chongnux perl]# cat if#!/usr/bin/perl$count =
 0 ;$sum = 0; while(1){ $sum += $count; $count += 5;  if($count >51){exit(0);} if(($count% 5)== 0){ print "$count 
는 5의 배수 입니다.";}}                     [root@chongnux perl]# chmod +x if[root@chongnux perl]# ./if
5 는 5의 배수 입니다.10 는 5의 배수 입니다.15 는 5의 배수 입니다.20 는 5의 배수 입니다.25 
는 5의 배수 입니다.30 는 5의 배수 입니다.35 는 5의 배수 입니다.40 는 5의 배수 입니다.45 는 
5의 배수 입니다.50 는 5의 배수 입니다.☞예제로 배우기#!/usr/bin/perl @city = ("A_city", "B_city","C
_city");  # 배열 while(1)  # 무한 반복 명령.. 참이면 계속 실행이 되것지요..{print "Enter_one_City
_(A_,_B_,_C_,Q_is_to_quit)_:_";new_enter:$choice = <STDIN>;    # 표준 입력 <STDIN> 이며 입력 받은 것     
                  # 은 $choice 에 입력됨..chop $choice ;    # 개행 문자를 삭제함...왜 반드시
 개행 문자                  # 를 지워서 입력 시켜야 함.           # chop는 마지막 문제
를 제거하는데 쓰이는 명령어. if($choice eq "A" || $choice eq "a") { print "$city[0] is a wonderful country."
;}elsif($choice eq "B" || $choice eq "b") { print "$city[1] is big.";}elsif($choide eq "C" || $choice eq "c") { print "$
city[2],The City of God, is heaven.";}elsif($chioce eq "Q" || $choice eq "q") { exit(0);}else  { print "You enter a val
id word. Enter new word: " ; goto new enter;}}                                    [root@chongnux perl]
# chmod +x Jogun[root@chongnux perl]# ./Jogun Enter one City (A , B , C ,Q is to quit) : a A_city is a wonderful count
ry. Enter one City (A , B , C ,Q is to quit) : b B_city is big. Enter one City (A , B , C ,Q is to quit) : c C_city,
The City of God,is heaven. Enter one City (A , B , C ,Q is to quit) : d You enter a valid word. Enter new word: a A_c
ity is a wonderful country. Enter one City (A , B , C ,Q is to quit) : q[root@chongnux perl]#           C 언어
와 많이 유사하는 것을 느끼실 겁니다. ☞ while에 관한 이야기   조건이 참이면 계속해서 
반복을 하다가 거짓이 되면 루프를 빠져 나갑니다. 위의 예제를 이용 주소록도 가능하지 
않을까 하는 생각 이 듭니다. 파일 입출력만 된다면 말이지요... 후후 .. 다음은 바로 라인
을 읽어서 조건을 판단하는 예제입니다. #!/usr/bin/perl  while($stdin = <STDIN>){  print $stdin;}혹은 
#!/usr/bin/perlwhile(<STDIN>){  print $_;}은 같은 역할을 한다. 즉 에코의 역할을 한다. perl 에서는 
표준입력에서 읽은 것은 $_로 값을 할당 할 수 있다. 그리고 next ,last 키워드를 가지고 있어
서 루프를 겉너 뛰거나 그 루프를 종료 할 수 있다. 다음은 간단한 모양 출력 스크립트이다
. [root@chongnux perl]# vi mountain#!/usr/bin/perl print "Enter number : ";$input = <STDIN>;chop $input;print "";{ for
($num1 = 1 ;$num1 < $input+1 ;$num1++)     {      for($num2 = 1;$num2 < $num1+1;$num2++)        {         p
rint "*";        }      print "";      } for($num1 = $input ;$num1 > 0;$num1--)     {      for($num2 = $
num1;$num2>0;$num2--)        {         print "*";        }      print "";      }}[root@chongnux perl]#
chmod +x mountain[root@chongnux perl]# ./mountainEnter number : 10 ****************************************************
**********************************************************              ☞ last & nextwhile(1){  $num ++;  if(
$num ==100) {next;}  #$num 이 100이면 반복을 점프한다.   if($num >1000) {last;}   #$num 이 1000이면 루
프를 종료한다.   print "$num";          #번호 하나씩 찍끼...}내일은 더 잼있는 거 도전해볼
 생각유....근데 난 언제 스크리트 멋찌게 짜나..
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved