my %menu_structure; for (@menu_specification) { my ($toplevel, @sublevel) = split /\|/; unless (@fields) { $menu_structure{$toplevel} = []; } else { push @{ $menu_structure{$toplevel} }, @sublevel; } }