# info > Class::ISA

---
type: CommandReference
command: Class::ISA
mode: perldoc
section: 3pm
source: perldoc
---

## Quick Reference

- `Class::ISA::super_path($CLASS)` — returns ordered list of superclass names (depth-first, no duplicates)
- `Class::ISA::self_and_super_path($CLASS)` — like `super_path` but includes $CLASS as first element
- `Class::ISA::self_and_super_versions($CLASS)` — returns hash mapping class names to their $VERSION values

## Name

Class::ISA — report the search path for a class's ISA tree

## Synopsis

perl
# Given @Food::Fishstick::ISA = qw(Food::Fish Life::Fungus Chemicals);
# @Food::Fish::ISA = qw(Food); @Food::ISA = qw(Matter);
# @Life::Fungus::ISA = qw(Life); @Chemicals::ISA = qw(Matter);
# @Life::ISA = qw(Matter); @Matter::ISA = ();

use Class::ISA;
print "Food::Fishstick path is:\n ",
      join(", ", Class::ISA::super_path('Food::Fishstick')),
      "\n";
# prints: Food::Fish, Food, Matter, Life::Fungus, Life, Chemicals
## Functions

- `Class::ISA::super_path($CLASS)` — returns the ordered list of names of classes Perl would search to find a method, with no duplicates. $CLASS is not included. UNIVERSAL is not included.
- `Class::ISA::self_and_super_path($CLASS)` — like `super_path` but includes $CLASS as the first element.
- `Class::ISA::self_and_super_versions($CLASS)` — returns a hash whose keys are $CLASS and its superclasses, and whose values are the contents of each class's $VERSION (or undef). This function serves as an example for typical uses.

## Cautionary Notes

- Class::ISA does not export anything; call functions with full `Class::ISA::` prefix.
- Class::ISA is a package, not a class.
- Cyclic ISA trees are handled by never traversing the same path twice.
- The functions look at @ISA at call time; no memoization.
- UNIVERSAL is not included; add it manually if needed.

## Examples

The synopsis example above demonstrates `super_path`.

## See Also

- Perl's `@ISA` array and method resolution
- `UNIVERSAL` class

## Exit Codes

Not applicable.