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

NAME

Devel::Backtrace::Point - Object oriented access to the information caller() provides

SYNOPSIS

    print Devel::Backtrace::Point->new([caller(0)])->to_long_string;

DESCRIPTION

This class is a nice way to access all the information caller provides on a given level. It is used by Devel::Backtrace, which generates an array of all trace points.

METHODS

$p->package, $p->filename, $p->line, $p->subroutine, $p->hasargs, $p->wantarray, $p->evaltext, $p->is_require, $p->hints, $p->bitmask

See "caller" in perlfunc for documentation of these fields.

new([caller($i)])

This constructs a Devel::Backtrace object. The argument must be a reference to an array holding the return values of caller(). This array must have either three or ten elements (see "caller" in perlfunc).

$tracepoint->to_string()

Returns a string of the form "Blah::subname called from main (foo.pl:17)". This means that the subroutine subname from package Blah was called by package main in foo.pl line 17.

If you print a Devel::Backtrace::Point object or otherwise treat it as a string, to_string() will be called automatically due to overloading.

$tracepoint->to_long_string()

This returns a string which lists all available fields in a table that spans several lines.

Example:

    package: main
    filename: /tmp/foo.pl
    line: 6
    subroutine: main::foo
    hasargs: 1
    wantarray: undef
    evaltext: undef
    is_require: undef
    hints: 0
    bitmask: \00\00\00\00\00\00\00\00\00\00\00\00

FIELDS

This constant contains a list of all the field names. These are the names that you saw in the above example.

SEE ALSO

Devel::Backtrace

AUTHOR

Christoph Bussenius <pepe@cpan.org>

COPYRIGHT

Copyright (C) 2007 Christoph Bussenius.

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