my $query = $conn->prepare("SELECT id, name FROM datos ORDER BY id"); $query->execute(); while (@row = $query->fetchrow_array) { ($id, $name) = @row; $item = new_item($id, $name); if ($item eq '') { fatal("new_item($id, $name) failed: $item"); } push @il, $item; push @pack, ${$item}; } push @pack, 0; $menu = new_menu(pack "I*", @pack);