![]() |
![]()
| ![]() |
![]()
NAMEDevel::Caller::Perl - Perl only implementation. SYNOPSISuse 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}; # ... } ABSTRACTThis module allows a method to get at arguments passed to subroutines higher up in the call stack. DESCRIPTIONFUNCTIONScalled_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]; AUTHORCasey West <casey@geeknest.com> THANKSRocco Caputo -- Much help with code and overall inspiration. COPYRIGHTCopyright (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 ALSOperl, Devel::Caller, DB, perldebguts.
|