#!/usr/bin/perl -w
%words = qw(
fred camel
barney llama
betty alpaca
wilma alpaca
);
print "what is your name? ";
$name = <STDIN>;
chomp ($name);
if ($name =~ /^randal\b/i) { # 정규식으로 ^ 사용, \b 단어 블럭 표시, /i 는 대소문자 구분 없애는것
print "hello, $name ! \n";
} else {
print "hi!, $name \n ";
print "what is your sectret word? ";
$guess = <STDIN>; # 사용자 변수 입력
chomp ($guess); # 빈공란 제거(\n)
while (! good_word($name,$guess)) { # while 은 참일때 반복, 거짓이면 한번만 하고 exit
print "sorry!!, try again!, what is your secret word? ";
$guess = <STDIN>;
chomp ($guess);
}
}
sub good_word {
my($somename,$someguess) = @_; # 인수 지정
$somename =~ s/\W.*//; # 빈칸 뒤에 오는 모든 내용을 빈칸으로 치환
$somename =~ tr/A-Z/a-z/; # 대문자를 소문자로 치환
if ($somename eq "randal") {
return 1; # return 1 은 true 를 의미
} elsif (($words{$somename} || "groucho") eq $someguess) { ## || 는 or 의미
return 1;
} else {
return 0; # return 0 은 false 를 의미
}
}
'program' 카테고리의 다른 글
[perl] 연습문제 3 (file open / file close) (0) | 2010.12.08 |
---|---|
관계 연산자 / 등가 연산자 / 논리 연산자 (0) | 2010.12.08 |
[perl] 연습문제 1 (0) | 2010.12.08 |
[c언어] 버그없는 프로그래밍을 하자 (펌) (0) | 2010.04.29 |