NAME
Devel::Caller::Perl - Perl only implementation.
SYNOPSIS
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;
$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.