sub Node::climb_up { my ($self, undef, $sub) = @_; my $cont = \$_[1]; # Referenz auf urspr. Wert (Pass-by-Reference) my $p = $self; my @ret; while ( $p = $p->parent_row ) { @ret = $sub->($p); next if $$cont; } return @ret; } my $continue; my $curry_return = $node->climb_up($continue = 1, sub { my $node = shift; ... $continue = ...; return $in_spe; });