Casey West > Devel-Caller-Perl > Devel::Caller::Perl

Download:
Devel-Caller-Perl-1.4.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 1.4   Source  

NAME ^

Devel::Caller::Perl - Perl only implementation.

SYNOPSIS ^

 use Devel::Caller::Perl qw[called_args];
 
 sub permute_args {
   my @args = @_;
   my @caller_args = called_args( 0 );
   
   my %caller_args =
     map { $_ => $caller_args[$_] } 0 .. $#caller_args;
   
   return \%caller_args;
 }

 sub dodad {
   my $args = permute_args;

   print $args->{0};
   # ...
 }

ABSTRACT ^

This module allows a method to get at arguments passed to subroutines higher up in the call stack.

DESCRIPTION ^

FUNCTIONS

called_args [LEVEL]

called_args returns the arguments to the subroutine at LEVEL in the call stack. If no level is specified, 0 (zero) is assumed, that being our caller. If a list is expected, it will be returned. When a scalar is expected, a list reference will be returned.

If you want the number of arguments passed to the subroutine at LEVEL, there's nothing stopping you from getting it from caller.

 my $number = (caller $level)[4];

AUTHOR ^

Casey West <casey@geeknest.com>

THANKS ^

Rocco Caputo -- Much help with code and overall inspiration.

COPYRIGHT ^

Copyright (c) 2003 Casey West. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

perl, Devel::Caller, DB, perldebguts.

syntax highlighting: