Class-Multi
view release on metacpan or search on metacpan
}
# if something nonzero was returned, the loop is done
return $rc if $rc;
}
return undef;
};
sub walk_width(&$;@) {
&$walk_raw( 1, @_ );
}
sub walk_depth(&$;@) {
&$walk_raw( 0, @_ );
}
sub walk(&$;@) {
confess( "Class::Multi::walk is deprecated. Use walk_width or walk_depth instead.\n" );
&$walk_raw( 0, @_ );
}
sub walk_width_up(&$;@) {
my ( $callout, $derived, @avoid ) = @_;
my @classes;
walk_width { push @classes, $_; 0 } $derived, @avoid;
my $rc;
while ( my $class = pop @classes ) {
# call the given code reference
local $_ = $class;
( run in 3.637 seconds using v1.01-cache-2.11-cpan-49f99fa48dc )