세로형
Recent Posts
Recent Comments
Link
04-20 00:01
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

펄 if문, perl 조건문 본문

perl

펄 if문, perl 조건문

이수진의 블로그 2017. 9. 19. 08:36

펄에도 역시 조건문(if)문이 있습니다!

다른 언어랑 비슷해요

if~else로 구성되어 집니다!

 

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
print("당신의 이름은? \n");
$name = <STDIN>;  #사용자가 입력하는 방법이다.
print $name;
#근데 $name의 값은 종료하는 뉴라인 하나를 갖는다. -> aab라고 입력하면 aab\n이 된다.이것을 제거 하기 위해 chomp함수를 사용한다.
#chomp함수는 스칼라 변수를 그것의 유일한 인수로 받아서 만약 존재한다면 변수의 문자열 값에서 뒤에 오는 뉴라인을 제거한다.
chomp($name);
 
print("Hello $name! \n");  #이런식으로 출력이 가능하다.
 
if($name eq "soojin"){  #eq는 문자열을 비교하는 방법.
    print "hello soojin!! good morning! \n";
}else{
    print ("hello $name! \n");
    print ("what is your pwd? \n");
}
cs

 

 

이렇게 말이죠!

 

지난번에 정리한 사용자 입력 <STDIN>을 이용, 또한 문자열 비교인 eq 를 통해서

if문으로 조건을 비교해봅니다. 참이면 hello soojin good morning 이 뜨고

거짓이면 사용자가 입력한 다른 문구가 출력됩니다!  

 

 

 

perl user라는걸 입력하면

차례대로 출력되는 것을 볼 수 있습니다.

그럼 if~elseif~else는 어떻게 될까요?

 

펄에선 살짝 다릅니다.

다르다는게 문구만 다르지 문법은 똑같아요

 

펄에선

 

if~elsif~else 입니다.

가운데가 elsif 에요~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
print("당신의 이름은?@ \n");
$name2 = <STDIN>;
chomp($name2);
if($name2 eq "soojin"){
    print("hello soojin! \n");
}else{
    print "hello! $name2 what`s your password??  \n";
    $pass = <STDIN>;
    chomp($pass);
    $i = 0 ;
    $correct = "maybe";
    while($correct eq"maybe"){
        if($word2[$i] eq $pass){
            $correct = "yes";
        }elsif($i < 2){
            $i = $i +1;
        }else{
            print ("패스워드가 틀렸습니다.!");
                $pass = <STDIN>;
                chomp($pass);
                $i = 0 ;
        }
    }
}
 
cs

 

 

이렇게 쓰인답니다.

$correct가 maybe인데 사용자가 입력한 비밀번호가

maybe가 아니여서 틀리게 된다면 elsif,와 else로 가게 되죠!

펄에선 조건문을 이렇게 씁니다

 

반응형
그리드형
Comments