1 2 3 4 5 6 7
my @queue = (1); my %seen; while (my $id = shift @queue) { $seen{$id}++; push @queue, grep { !seen{$id} } $self->get_more_ids($id); }