The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Sub::Caller - Add caller information to the end of @_.

DESCRIPTION
    Sub::Caller provides an easy way to pass caller information to all, or
    specific, sub-routines:

       use Sub::Caller qw(all); ## Pass to all non-anon subs
       use Sub::Caller qw(sub1 sub2); ## Only these subs

       -- OR --

       use Sub::Caller;

       sub test { }

       &Sub::Caller::addCaller('test');

    The sub-routines must be loaded before addCaller() can be called
    successfully. If you call addCaller() on the same sub-routine(s)
    multiple times, all calls after the first are silently ignored.

    Caller information takes the form of:

       {
          package  => 'main',
          function => 'test',
          file     => 'test.pl',
          line     => 7,
       }

    This hash reference is added to the end of @_.

EXAMPLE
       #!/usr/bin/perl
       # test.pl

       use Data::Dumper;
       use Sub::Caller('test');

       test('a');

       sub test {
          ## Make sure we have @_ and it is what we expect
          if (@_ && Sub::Caler::isCaller($_[-1])){
             print Dumper(\@_);
          }
       }

       __END__
       Dumper will print:

       $VAR1 = [
                 'a',
                 bless( {
                          'function' => 'main',
                          'file' => 'test.pl',
                          'line' => 8,
                          'package' => 'main'
                        }, 'Sub::Caller' )
               ];

AUTHOR
    Shay Harding <sharding@ccbill.com>

CHANGES
   2003-05-27
      Added more tests.
      Updated POD with a clear example of usage.
TODO
    Would be nice to add this to anonymous functions, but alas, I haven't
    figured that part out yet. Would probably have to dig into XS more and
    mess with OP code stuff.

ACKNOWLEDGEMENTS
    I just want to say that Gisle Aas' "PerlGuts Illustrated" at
    http://gisle.aas.no/perl/illguts is fantastic. It really sheds some
    light on how all those darn SVs work out. Now if only the PERL_CONTEXT
    section were finished so I knew what those were...