Skip to content

Instantly share code, notes, and snippets.

@libitte
Created June 20, 2013 12:53
Show Gist options
  • Select an option

  • Save libitte/5822422 to your computer and use it in GitHub Desktop.

Select an option

Save libitte/5822422 to your computer and use it in GitHub Desktop.
Perlにおける真偽値

以下まるっと引用しておく。

Perlにおける真偽値を解説します。
Perlにおける偽値は次の五つです。

  • 0
  • "0"
  • "" 空文字列
  • undef
  • () 空リスト

Perlにおける真値は上記以外すべてです。たとえば、"0.0"は、数値としては0と等しいが、真として扱われます。

sample

真偽値のサンプルコード

use strict;
use warnings;

# Perlにおける真偽値

# 0 と "0" と undef と "" と () だけが、Perlにおける偽値
print "1: 偽の場合は実行されない。\n\n";
if (0) { print "実行されない。" }

if (undef) { print "実行されない。" }

if ("") { print "実行されない。" }

if ("0") { print "実行されない。" }

if (()) { print "実行されない。" }

# 上記以外は、すべて真。
print "2: 真の場合は、実行される。\n";
if("a"){ print qq( "a": 実行される。\n ) }

if(-1){ print "-1 : 実行される。\n" }

if("0.0"){ print qq( "0.0": 実行される。\n ) }

実行結果

1: 偽の場合は実行されない。                                                                                                                                                                                                                                                                                                                                                                                                     2: 真の場合は、実行される。                                                                                                                                                                                      "a": 実行される。                                                                                                                                                                                               -1 : 実行される。                                                                                                                                                                                               "0.0": 実行される。

引用元: [http://d.hatena.ne.jp/perlcodesample/20080323/1206280262]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment