0
#!/usr/bin/perl

$v = "test";
$v |= "best";
print $v;
$v =  "test" | "best";
print $v;

ここでOR-ingがどのように出てくるかは、2番目のケースでは明確ではありません(最初のケースはnullとのoringが明確なようです)?

4

1 に答える 1

4

|はビット単位の演算子であり、文字列を変数に短絡したくないため、論理 OR を使用します||

$v ||= "best";

最初の文字のビットごとの計算は次"t" | "b"と同じです

#             116  | 98        = 118 ("v")
print chr(ord("t") | ord("b"));
于 2014-02-20T06:19:08.510 に答える