在 Perl 中获取变量名作为字符串

在 Perl 中获取变量名作为字符串

问题描述:

我正在尝试获取变量名称的文本表示.例如,这将是我正在寻找的功能:

I am trying to get a text representation of a variable's name. For instance, this would be the function I am looking for:

$abc = '123';
$var_name = &get_var_name($abc); #returns '$abc'

我想要这个是因为我正在尝试编写一个递归输出传递变量内容的调试函数,我希望它事先输出变量的名称,所以如果我连续调用这个调试函数 100 次,将没有关于我在输出中查看哪个变量的困惑.

I want this because I am trying to write a debug function that recursively outputs the contents of a passed variable, I want it to output the variable's name before hand so if I call this debug function 100 times in succession there will be no confusion as to which variable I am looking at in the output.

我听说过 Data::Dumper,但我不是它的粉丝.如果有人能告诉我如何获取变量名称的字符串,那就太好了.

I have heard of Data::Dumper and am not a fan. If someone can tell me how to if it's possible get a string of a variable's name, that would be great.

谢谢!

数据::Dumper::简单

use warnings;
use strict;
use Data::Dumper::Simple;

my $abc = '123';
my ($var_name) = split /=/, Dumper($abc);
print $var_name, "\n";

__END__

$abc