- 논리적 연산자
&& -> 일반적인 AND 연산자.
|| -> 일반적인 OR 연산자.
$value > 5 || print "value는 5보다 크다"; ## $value 가 5보다 작아야 출력됨
$value > 5 || print "value는 5바다 크다"; ## $value 가 5보다 커야 출력됨
- 조건부 연산자 (Conditional Expression)
== eq 같다
!= ne 다르다
<=> cmp C 에서 제공하는 strcmp 랑 비슷, 같으면 '0', 앞이 크면 1, 뒤가 크면 -1
> gt 크다
>= ge 크거나 같다
< lt 작다
<= le 작거나 같다
- 파일 테스트 연산자
-e $a $a 파일이 존재하면 참
-r $a $a 파일이 읽기 가능하면 참
-w $a $a 파일이 쓰기 가능하면 참
-d $a $a 가 디렉토리이면 참
-f $a $a 가 일반 파일이면 참
-T $a $a 가 텍스트파일이면 참
- 제어문(Flow Control)
while
$n = 50;
while( $n > 0)
{
print $n."\n";
$n--;
} ## $n 이 1이 될때까지 출력
until ($a == 100)
{
print "until a is 100";
} ## $a 가 100이 되면 출력을 멈춤
foreach
@aArr = ("aaa","bbb","ccc");
foreach $szTmp(@aArr)
{
print "$szTmp\n";
} ## $a 가 100이 되면 출력을 멈춤
foreach
@aArr = ("aaa","bbb","ccc");
foreach $szTmp(@aArr)
{
print "$szTmp\n";
}
if...elsif...else
$n = 1;
if($n == 1)
{
print "n is $n\n";
}
elsif ($n == 2)
{
print "n is $n\n";
}
else
{
print "n is $n\n";
}
unless
unless($destination eq $home)
{
print "im not going home.\n";
}
next, last
next -> continue 와 비슷한..
last -> break 와 비슷한..
조금 더 정리를...
if...elsif...else
$n = 1;
if($n == 1)
{
print "n is $n\n";
}
elsif ($n == 2)
{
print "n is $n\n";
}
else
{
print "n is $n\n";
}
unless
unless($destination eq $home)
{
print "im not going home.\n";
}
next, last
next -> continue 와 비슷한..
last -> break 와 비슷한..
조금 더 정리를...