如何使用字符串作为变量名

如何使用字符串作为变量名

本文介绍了在 Perl 中,如何使用字符串作为变量名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
如何使用变量作为Perl 中的变量名?

这可行吗?我需要将字符串更改为变量.

Is this doable? I need to change a string into variable.

示例:

如果我有一个这样的变量:

If I have a variable like this:

$this_is_test = "what ever";
$default = "this";
$default = $default . "_is_test";

我希望 $default$this_is_test 的值.

I want $default to take the value of $this_is_test.

推荐答案

沿着 我的另一个答案,每当您发现自己向变量名添加字符串后缀时,请改用哈希:

Along the lines of my other answer, whenever you find yourself adding string suffixes to a variable name, use a hash instead:

my %this = (
    is_test => "whatever",
    is_real => "whereever",
);

my $default = $this{is_test};

print "$default
";

不要不要为此目的使用符号引用,因为它们在您的问题的上下文中是不必要的并且可能非常有害.有关详细信息,请参阅 为什么将变量用作变量名"很愚蠢?第 2 部分第 3 部分 作者 mjd.

Do NOT use symbolic references for this purpose because they are unnecessary and likely very harmful in the context of your question. For more information, see Why it's stupid to 'use a variable as a variable name'?, part 2 and part 3 by mjd.

这篇关于在 Perl 中,如何使用字符串作为变量名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 13:14