Народ, подскажите, копаюсь с чужим кодом... Непонятен блок, как и что делает... Буду признателен, если поможете разобрать....
@sections - массив секций, @subs - подсекций.
$keeper - переменная для выборки из базы по заданным параметрам.
show_in_map() - Определяет, стоит ли флаг для отображения секции или подсекции
@sections = grep { exists $_->{subs} } map {
my @subs = $keeper->get_sections(
s => $_->id(),
status => 1,
class => \'ThemeSection\'
);
@subs = grep { $_->show_in_map() } @subs;
if (@subs) {
$_->{subs} = \\@subs;
$sum += scalar @subs;
}
$_;
} @sections;
Понятно, что по выдранному из кода куску сложно что-то определить... Но тем не менее.. хотя бы последовательность выполнения блока, и какой кусок что делает, подскажите. А то я вконец запутался в этих map и grep и блоках. Понял только, что берется массив @sections, и что-то с ним делается...