Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

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

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


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 the Devel::Backtrace manpage, 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, $p->hinthash

See perlfunc/caller for documentation of these fields.

hinthash is only available in perl 5.9 and higher. When this module is loaded, it tests how many values caller returns. Depending on the result, it adds the necessary accessors. Thus, you should be able to find out if your perl supports hinthash by using UNIVERSAL/can:


    Devel::Backtrace::Point->can('hinthash');

$p->by_index($i)

You may also access the fields by their index in the list that caller() returns. This may be useful if some future perl version introduces a new field for caller, and the author of this module doesn't react in time.

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 (or eleven if hinthash is supported) (see perlfunc/caller).

$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

hinthash is not included in the output, as it is a hash.

FIELDS

This constant contains a list of all the available field names. The number of fields depends on your perl version.


SEE ALSO

the Devel::Backtrace manpage


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.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy