Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Devel::ArgNames(3)    User Contributed Perl Documentation   Devel::ArgNames(3)

NAME
       Devel::ArgNames - Figure	out the	names of variables passed into
       subroutines.

SYNOPSIS
	       use Devel::ArgNames;

	       sub foo {
		       warn "foo() called with arguments: "
			       . join(", ", map	{ defined() ? $_ : "<unknown>" } arg_names(@_) );
	       }

	       foo($bar, $gorch, $blah[4]);

DESCRIPTION
       When print-debugging code, you will often ind yourself going:

	       print "\$foo is $foo, \$bar is $bar"

       With this module, you can write a reusable subroutine easily:

	       sub my_print_vars {
		       my %vars;

		       @vars{arg_names()} = @_;

		       foreach my $var ( keys %vars ) {
			       warn "$var is $vars{$var}\n";
		       }
	       }

	       my_print_vars($foo, $bar);

       This module doesn't provide dumping facilities because there are	too
       many to choose from. This is a DIY kit ;-)

EXPORTS
       arg_names [ $level ]
	   This	function will return the names associated with the variables
	   found on @_,	at the level $level. If	$level is not provided
	   "arg_names"'s caller's caller will be used ("$level == 2" in	that
	   case).

VERSION	CONTROL
       This module is maintained using Darcs. You can get the latest version
       from <http://nothingmuch.woobling.org/Devel-ArgNames/>, and use "darcs
       send" to	commit changes.

SEE ALSO
       Data::Dumper::Simple, DB, Devel::Caller,	Devel::Caller::Perl,
       PadWalker.

AUTHORS
       Ran Eilam

       Yuval Kogman <nothingmuch@woobling.org>

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

perl v5.24.1			  2008-01-02		    Devel::ArgNames(3)

NAME | SYNOPSIS | DESCRIPTION | EXPORTS | VERSION CONTROL | SEE ALSO | AUTHORS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Devel::ArgNames&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help