【发布时间】:2011-03-28 04:06:34
【问题描述】:
我相信我的标题可能有点令人困惑,但这里是我想要做的事情的要点。我知道这不是“正确的方法”,我只是好奇它是否可能。
假设我有脚本:
#!/usr/bin/perl
use strict;
use warnings;
my $foo = "bar";
my $foo_location = int(\$foo);
print $foo_location;
此输出将类似于 136167064
如何获取该整数($foo 在内存中的位置),并使用该整数创建另一个引用 $foo 的变量。
所以我想做的是:
my $foo_reference = some_magical_function_call($foo_location);
这将允许修改 $foo_reference 的取消引用,以修改 $foo 的值。所以在任何魔法允许它起作用之后,
$$foo_reference eq $foo
评估结果为真
我想说我几年前就知道了,但也许我疯了。
【问题讨论】:
-
这纯粹是学术性的,还是您有一些用例?
标签: perl memory integer reference