何が真偽Perl

は、Perlプログラミング言語の特殊な値ということはtrueおよびfalseです。

はPerlできるとして解釈するBoolean値です。 例えば、文字列 'Hello' はtrueです。 次のコード表示の文字列 'true':

▶ Run
#!/usr/bin/perl

if ('Hello') {
    print 'true';
} else {
    print 'false';
}

何の値はfalse

は、Perlプログラミング言語に5つの値がfalseです。 この:

  • undef
  • 0 —0
  • 0.0 —数0.0
  • '' —空の文字列
  • '0' 列0

以下に例を示しますことを示してすべてのこれらの値は解釈されるPerlとしています。 コード表示の5倍の 'false':

▶ Run
#!/usr/bin/perl

foreach my $val (undef, 0, 0.0, '', '0') {
    if ($val) {
        print "true\n";
    } else {
        print "false\n";
    }
}

何の値はtrue

真実はすべての値を除き、5はfalseです。

ルール

のために覚えがfalseの場合、利用できるルールに関連付けます: "すべてが0がfalseの場合以外は'0がtrue'row".

すべてのこれらの5つの値をfalseとして使用する場合は、番号が0になります。 こちらのコードがあることを確認するためのコードで表示5零点:

▶ Run
#!/usr/bin/perl

foreach my $val (undef, 0, 0.0, '', '0') {
    print $val + 0, "\n";
}

ただし、ご利用の場合 use strict; および use warnings; (ほとんど常に価値をすでに行われてい 場合 undef 、空の文字列Perlを示す警告が表示されます。

こちらのコードの結果の場合 undef:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $var = undef;

print $var + 0;
Use of uninitialized value $var in addition (+) at script.pl line 8.
0

こちらはコードの結果の場合は空文字列は:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $var = '';

print $var + 0;
Argument "" isn't numeric in addition (+) at script.pl line 8.
0

0 but true

Perlな価値をBooleanスコンテキストでtrueが使用 としての番号に変換します。 すべてのファッションにおける価値は文字列です。

例えば、文字列 '0ASDF' は、このような値です。 として用いる場合はBoolean値 この文字列によって解釈されるものとします。 っているが、2回線lie— 空文字列、文字列だけからなる単一の文字のゼロライン '0ASDF' ではない もてなりませんが、実です。

こちらのコードは現在表示されている線 '0ASDF' はtrue(コード文字列を表示 'true'):

▶ Run
#!/usr/bin/perl

if ('0ASDF') {
    print 'true';
} else {
    print 'false';
}

このライン '0ASDF' として利用できるものと解釈の数0 (ただし、が含まれる場合 use strict;, use warnings; される警告):

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $var = '0ASDF';

print $var + 0;
Argument "0ASDF" isn't numeric in addition (+) at script.pl line 8.
0

最も有名な利用の 0 but true の値が、Perl DBI図書館での文字列 '0E0'.

配列、ハッシュを参照

の配列がtrueの場合が少なくとも一つの値です。 場合は配列の値がなし この配列はfalseです。

同様に、場合にはハッシュは、少なくとも一つのペアの値のハッシュ値はtrueです。 の場合はハッシュしない ないペアの値です。

基準は常にtrueで、どんなことです。 もへの参照は空の配列 [] は、空のハッシュ {} は、真実

一つは、空の文字列

多くのコードは、真実であり、書にある用 数をゼロになります。

興味深いことに、この標準Perlの価値を主張するためには嘘ではないの 0、空の文字列 ''.

ここでは一例を示す。 すなわち、現場における線 'Hello'は、真実と は単項演算子 ! であ:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

print Dumper !'Hello';

の結果が画面にテキスト $VAR1 = '';

ご利用の場合はオペレーター ! 倍取得していますの標準値の実現の観点からのPerl:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

print Dumper !!'Hello';

(画面が表示されるテキスト $VAR1 = 1;).

この問題の読みやすさ

多くのコードは、真実であり、書にある用 数をゼロになります。 が、残念ながら、これらの数字は不明であることは、数あるその他の番号)、 または、旗の意味です。

ここでは一例です。 ここ1 workers を意味する必要のあるモーバイルコンピューティング(に置き換えることができ10)となります。 とのユニット い log とロギングを有効にすると、置き換えできるだけ0を無効にする):

my $config = {
    workers => 1,
    log => 1,
};

その他の記事