Language/Perl
[Perl] Boolean
VIR&US
2023. 7. 20. 15:50
반응형
목차
Boolean
논리학에서 참(true)과 거짓(false)을 나타내는 데 사용하는 개념
Perl에서는?
Perl에는 특별한 Boolean 타입은 없습니다.
Perl 문서에서 어떤 함수가 "Boolean" 값을 반환한다고 나온 것을 종종 볼 수 있습니다.
모든 스칼라 값들은 if를 써서 검사할 때 Truth or False 이 됩니다.
- 실제로는 어떤 함수가 "참"을 반환하다라고 하는 값은 보통 1을 반환합니다.
- "거짓"을 반환한다고 하는 값은 문자열로서 처리될 때는 빈 문자열 "' '처리되고, 수로 처리될 때는 0으로 처리됩니다.
수 0, 문자열 '0'과 '', 빈 리스트 "()", 그리고 "undef"은 불리언 컨텍스트에서는 모두 거짓이다. 그 외의 모든 값들은 다 참이다. 참인 값에 "!" 또는 "not"을 붙여 부정하면 특별한 거짓 값을 반환하는데, 이 값은 문자열로서 처리될 때는 ''와 같이 처리되고, 수로 처리될 때는 0으로 처리된다.
perlsyn 문서의 "Truth and Falsehood"
False로 간주되는 값
- undef
- 숫자 0
- 문자열 "" (빈문자열)
- 문자열 "0" (0 한 개가 들어 있는 문자열)
Example
Code
#!/bin/perl use strict; use warnings; my $S = "TTT"; my $T = 54; my $F = "0"; if ($S eq "TTT") { print "Ture\n"} else { print "False\n"} if ($T) { print "Ture\n"} else { print "False\n"} if ($F) { print "Ture\n"} else { print "False\n"}
Result
Ture Ture False
728x90
반응형