3

以下のようにしていますが、うまくいきません。

    my $enabled = $hash && 
                  $hash->{'key'} && 
                  $hash->{'key'}->{'enabled'} && 
                  $hash->{'key'}->{'active'};

これはブール値をスカラー変数に代入する方法として受け入れられますか? 私のコードは、そのままでは奇妙な方法で誤動作しており、この割り当てが原因であると私は信じています。これらすべてのキーに個別の値が存在し、値が設定されていることを確認しました。

PS初心者でごめんなさい!約 10 分間グーグル検索しましたが、どこにも答えが見つかりませんでした。

4

1 に答える 1

7

&&||、などの Perl ブール演算子はブール値andor返さず、引数のいずれかの値を返します。

say 2 && 3;

出力します3

二重否定のトリックを使用して、ブール値に強制できます。

say !!(2 && 3);
# or
say not not 2 && 3;

出力します1

于 2013-06-26T19:52:44.917 に答える