こんにちは、なかむら(う)です。

以下の2つのコードが、1.8とtrunkで動作が異なります。
なぜでしょう?
私には1.8の挙動が自然に思えます。

# その1
x = 0
eval("p x", TOPLEVEL_BINDING)
# 1.8   => 0
# trunk => NameError

# その2
BEGIN{$b = binding}
eval("p x", $b)
# 1.8   => NameError
# trunk => 0


それでは。
-- 
U.Nakamura <usa / garbagecollect.jp>