Оператор //
официально является оператором Logical Defined-Or.
В первой строке:
($mate{$grid_edge->[0]} // '')
означает: если $mate{$grid_edge->[0]}
определено, использовать это значение, в противном случае использовать ''
в качестве значения. Обратите внимание, что одинарные кавычки - это просто пустая строка, а не часть оператора.
Во второй строке:
$node->{count} //= count($node->{low}) + count($node->{high});
Если $node->{count}
не определен, ему присваивается count($node->{low}) + count($node->{high})
.
Как и все операторы Perl, это объясняется в 'perldoc perlop', также [доступно здесь] (http://perldoc.perl.org/perlop.html). Найдите «C-style Logical Defined-or» (если вы ищете «//», вам нужно пропустить много использования '//' в сопоставлении с образцом). –