跑步:
$t = 3;
{
tie $t, 'Yep';
} # Expect $t to become untied here.
print $t;
package Yep;
sub TIESCALAR {
bless {}, 'Yep';
}
sub UNTIE {
print "UNTIE\n";
}
sub DESTROY {
print "DESTROY\n";
}
输出是:
Can't locate object method "FETCH" via package "Yep" at a.pl line 5.
DESTROY
预期的输出是:
DESTROY
3
我只想tie
在其所在的范围内变量 $t tie
。在范围之外,它的行为必须与 tie 之前相同。因此,我包装tie
到块中并期望untie
在到达块末尾时调用它(例如在块末尾恢复值的“本地”,但对于绑定变量,我希望行为恢复(untie $t
))。请注意$t
尚未超出范围。