--- perl/gv.c.~1~ Thu Sep 27 17:00:06 2001
+++ perl/gv.c Thu Sep 27 17:00:06 2001
@@ -656,7 +656,7 @@
strEQ(name, "ARGVOUT")))
global = TRUE;
}
- else if (*name == '_' && !name[1])
+ else if (*name == '_' && (!name[1] || strEQ(name,"__ANON__")))
global = TRUE;
if (global)
--- perl/t/op/anonsub.t.~1~ Thu Sep 27 17:00:06 2001
+++ perl/t/op/anonsub.t Thu Sep 27 17:00:06 2001
@@ -97,3 +97,8 @@
X();
EXPECT
ok 1
+########
+package;
+print sub { return "ok 1\n" } -> ();
+EXPECT
+ok 1
--- perl/t/op/runlevel.t.~1~ Thu Sep 27 17:00:06 2001
+++ perl/t/op/runlevel.t Thu Sep 27 17:00:06 2001
@@ -311,6 +311,7 @@
eval { die };
&{sub { eval 'die' }}();
sub foo { eval { die } } foo();
+{package rmb; sub{ eval{die} } ->() }; # check __ANON__ is global
EXPECT
In DIE
main|-|8|(eval)
@@ -320,6 +321,9 @@
In DIE
main|-|10|(eval)
main|-|10|main::foo
+In DIE
+rmb|-|11|(eval)
+rmb|-|11|main::__ANON__
########
package TEST;
Thread Next