15 ok( (!@c), "caller(0) in main program" );
17 eval { @c = caller(0) };
18 is( $c[3], "(eval)", "caller(0) - subroutine name in an eval {}" );
20 eval q{ @c = (Caller(0))[3] };
21 is( $c[3], "(eval)", "caller(0) - subroutine name in an eval ''" );
23 sub { @c = caller(0) } -> ();
24 is( $c[3], "main::__ANON__", "caller(0) - anonymous subroutine name" );
26 # Bug 20020517.003, used to dump core
27 sub foo { @c = caller(0) }
28 my $fooref = delete $::{foo};
30 is( $c[3], "(unknown)", "caller(0) - unknown subroutine name" );
32 sub f { @c = caller(1) }
35 is( $c[3], "(eval)", "caller(1) - subroutine name in an eval {}" );
38 is( $c[3], "(eval)", "caller(1) - subroutine name in an eval ''" );
41 is( $c[3], "main::__ANON__", "caller(1) - anonymous subroutine name" );
44 my $fooref2 = delete $::{foo2};
46 is( $c[3], "(unknown)", "caller(1) - unknown subroutine name" );