Perl 动态变量值?

Perl 动态变量值?,perl,Perl,perl代码: my %config = ( randValue => int(rand(10)), ); print $config{ randValue }."\n"; print $config{ randValue }."\n"; 将产生: 8 8 每次是否可能得到不同的值?(每次调用$config{randValue}时,执行int(rand(10))。您既可以使用,也可以执行以下功能: my %config = ( randValue => sub

perl代码:

my %config = (
    randValue => int(rand(10)),
);

print $config{ randValue }."\n";
print $config{ randValue }."\n";
将产生:

8
8
每次是否可能得到不同的值?(每次调用
$config{randValue}
时,执行
int(rand(10))

您既可以使用,也可以执行以下功能:

my %config = (
    randValue => sub { int(rand(10)) },
);

print $config{randValue}->();
print $config{randValue}->();

你可以使用魔法或一种辅助工具。
tie
只是一种魔法<代码>使用变量::Magic qw(向导强制转换);cast(my$d10,wizard(get=>sub{${$\[0]}=int(rand(10))+1}))我建议使用潜水艇。我在办公室里读到文档时突然大笑起来:“一个‘巫师’,一个保存魔法信息的不透明物体”和“请注意,在全球毁灭过程中永远不会调用自由魔法”,这两个词在任何幻想场景中都是非常棒的引用,而且“如果你用自由魔法定义一个向导并将其自身施放,它会导致一个内存周期,因此当向导被释放时,这个析构函数将不会被调用。”听起来像史诗任务的背景故事。