#!/usr/bin/perl
$v = "test";
$v |= "best";
print $v;
$v = "test" | "best";
print $v;
Как выглядит OR-ing здесь, во втором случае неясно, (первый случай - с нулевой точкой, кажется, ясен)?perl логический оператор OR
#!/usr/bin/perl
$v = "test";
$v |= "best";
print $v;
$v = "test" | "best";
print $v;
Как выглядит OR-ing здесь, во втором случае неясно, (первый случай - с нулевой точкой, кажется, ясен)?perl логический оператор OR
|
является побитовое operator и вы wan't к короткому замыканию строки к переменной, таким образом, использовать логическое ИЛИ ||
$v ||= "best";
Расчет Побитовое для первых символов "t" | "b"
такой же, как
# 116 | 98 = 118 ("v")
print chr(ord("t") | ord("b"));
Оба являются двоичными (принимают два аргумента) операторами, и не унарны (принимают один аргумент). Я думаю, вы имели в виду, что '|' является побитовым оператором (побитовое ИЛИ), а '||' является логическим оператором (логическим ИЛИ). –
@DaveSherohman tnx для коррекции. –
Вы можете заинтересуйтесь следующим: http://perldoc.perl.org/perlop.html#Logical-Defined-Or – squiguy
можете ли вы объяснить, что не ясно? обратите внимание, что '|' и '| =' являются * не * логическими или операторами, они побитовыми или операторами, совершенно другая вещь. – ysth