0
#!/usr/bin/perl

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

在第二种情况下,这里的 OR-ing 是如何出现的并不清楚(第一种情况是 oring with null 似乎很清楚)?

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 回答