#!/usr/bin/perl
$v = "test";
$v |= "best";
print $v;
$v = "test" | "best";
print $v;
ここでOR-ingがどのように出てくるかは、2番目のケースでは明確ではありません(最初のケースはnullとのoringが明確なようです)?
#!/usr/bin/perl
$v = "test";
$v |= "best";
print $v;
$v = "test" | "best";
print $v;
ここでOR-ingがどのように出てくるかは、2番目のケースでは明確ではありません(最初のケースはnullとのoringが明確なようです)?
|
はビット単位の演算子であり、文字列を変数に短絡したくないため、論理 OR を使用します||
$v ||= "best";
最初の文字のビットごとの計算は次"t" | "b"
と同じです
# 116 | 98 = 118 ("v")
print chr(ord("t") | ord("b"));