如何获取存储在perl中任何变量值的值

时间:2016-12-02 08:26:43

标签: perl

需要获取存储在perl中任何变量值的值。 例如 -

$a = 'b';
$b = '10;

现在如何使用$ a获取值$ b;

2 个答案:

答案 0 :(得分:2)

Here is a great summary of why it's a bad idea to use a variable as a variable name

所以我不会告诉你该怎么做,因为这就像教孩子如何装枪一样。

这里需要的是length。哈希是perl数据结构,它们是键值对。

hash

答案 1 :(得分:1)

您要做的事情称为symbolic reference。回到第5版之前,这是Perl使用引用的唯一方法。如今,它被认为已被弃用,应予以避免。请改用哈希。我只提供一个示例,因此您可以在任何必须维护的代码中发现它并将其消除。

符号引用仅适用于动态变量,即变量声明为ouruse vars。另请注意,您必须关闭use strict refs才能使其正常工作。

use strict;
use warnings;

my $x = 'y';
our $y = 10;

{
    no strict qw( refs );
    print ${$x}, "\n";
}
顺便说一下,你也应该避免使用$a$b。它们被Perl的sort使用,可能导致混淆。