The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

UNIVERSAL::derived_classes - Returns derived classes of a class

SYNOPSIS

    require UNIVERSAL::derived_classes;

    package A;

    package B;
    @ISA = qw( A );

    package C;
    @ISA = qw( B );

    package main;
    my @derived_classes          = A->derived_classes;          # B, C
    my @derived_classes_reversed = A->derived_classes_reversed; # C, B

DESCRIPTION

UNIVERSAL::derived_classes provides the following methods:

CLASS->derived_classes(REVERSED)
$obj->derived_classes(REVERSED)

Where

REVERSED

is the flag to reverse classes

When used as a class method (CLASS->derived_classes(REVERSED)), derived_classes returns derived classes of the CLASS.

When used as an instance method ($obj->derived_classes(REVERSED)), derived_classes returns derived classes of a class where $obj is blessed.

If the REVERSED flag is true then reversed derived classes are returned.

CLASS->derived_classes_reversed
$obj->derived_classes_reversed

derived_classes_reversed is same as derived_classes(REVERSED)

AUTHOR

Yuji Tamashiro, <yuji@tamashiro.org>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by Yuji Tamashiro

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.