Looking for perl Answers? Try Ask4KnowledgeBase
Looking for perl Keywords? Try Ask4Keywords

Perl Language真と偽


構文

  • undef#False
  • ''#定義済み、偽
  • 0#定義済み、長さ付き、False
  • '0'#定義済み、長さ、偽

備考

Perlにはブール型のデータ型がありませんし、他の多くの言語とtruefalseキーワードはありません。ただし、ブール値のコンテキスト(if文やwhileループの条件など)で評価すると、すべてのスカラー値はtrueまたはfalseと評価されます。

次の値はfalseとみなされます。

  • '' 、空文字列。これは組み込みの比較演算子が返すものです(例えば0 == 1
  • 0あなたは000または0.0としてそれを書く場合でも、番号0、
  • '0' 、単一の0桁を含む文字列
  • undef 、未定義の値
  • オーバーロードを使用してJSON::falseなどの不正な値に数値化/文字列化するオブジェクト

それ以外の値はすべてtrueです。

  • などの任意の非ゼロ数13.14'NaN'または'Inf'
  • 数値的に0ではなく、文字通りの文字列である任意の文字列'0'のような、 '00''0e0'"0\n""abc"
    意図的に真の数値的に0の値を返す場合は、 '0E0' (良く知られているモジュールで使われます)や'0 but true' (Perlの関数で使われます)
  • ' ''false'ように空でない他の文字列は、
  • \''[]{}などの偽の値を参照する場合でも、すべての参照は、
  • false値の配列またはハッシュ

以下の演算子は、一般的に、スカラーコンテキストでブール値を返すように扱われます:

  • @aは配列が空であるかどうかを返します

  • %hは、ハッシュが空であるかどうかを返します。

  • grepは一致する項目が見つかったかどうかを返します

  • @a = LIST(LIST) = LISTは、右側のLISTがスカラを生成したかどうかを返します。

真と偽 関連する例