The Devel::StackTrace module contains two classes, Devel::StackTrace and
Devel::StackTrace::Frame. The goal of this object is to encapsulate the
information that can found through using the caller() function, as well as
providing a simple interface to this data.
The Devel::StackTrace object contains a set of Devel::StackTrace::Frame
objects, one for each level of the stack. The frames contain all the data
available from 'caller()'.
This code was created to support my the Exception::Class::Base manpage
class (part of Exception::Class) but may be useful in other contexts.