xref: /openbsd/gnu/usr.bin/perl/t/lib/croak/pp_hot (revision 91f110e0)
1*91f110e0Safresh1__END__
2*91f110e0Safresh1# NAME local %$ref on last line of lvalue sub in lv cx
3*91f110e0Safresh1   sub foo :lvalue { local %{\%foo} }
4*91f110e0Safresh1   (foo) = 3;
5*91f110e0Safresh1EXPECT
6*91f110e0Safresh1Can't localize through a reference at - line 1.
7*91f110e0Safresh1########
8*91f110e0Safresh1# NAME local @$ref on last line of lvalue sub in lv cx
9*91f110e0Safresh1   sub foo :lvalue { local @{\@foo} }
10*91f110e0Safresh1   (foo) = 3;
11*91f110e0Safresh1EXPECT
12*91f110e0Safresh1Can't localize through a reference at - line 1.
13*91f110e0Safresh1########
14*91f110e0Safresh1# NAME local %$ref on last line of lvalue sub in non-lv cx
15*91f110e0Safresh1   sub foo :lvalue { local %{\%foo} }
16*91f110e0Safresh1   foo;
17*91f110e0Safresh1EXPECT
18*91f110e0Safresh1Can't localize through a reference at - line 1.
19*91f110e0Safresh1########
20*91f110e0Safresh1# NAME local @$ref on last line of lvalue sub in non-lv cx
21*91f110e0Safresh1   sub foo :lvalue { local @{\@foo} }
22*91f110e0Safresh1   foo;
23*91f110e0Safresh1EXPECT
24*91f110e0Safresh1Can't localize through a reference at - line 1.
25*91f110e0Safresh1########
26*91f110e0Safresh1# NAME \local %$ref
27*91f110e0Safresh1   \local %{\%hash}
28*91f110e0Safresh1EXPECT
29*91f110e0Safresh1Can't localize through a reference at - line 1.
30*91f110e0Safresh1########
31*91f110e0Safresh1# NAME \local @$ref
32*91f110e0Safresh1   \local @{\@hash}
33*91f110e0Safresh1EXPECT
34*91f110e0Safresh1Can't localize through a reference at - line 1.
35*91f110e0Safresh1########
36*91f110e0Safresh1# NAME calling undef sub belonging to undef GV
37*91f110e0Safresh1   my $foosub = \&foo;
38*91f110e0Safresh1   undef *foo;
39*91f110e0Safresh1   &$foosub;
40*91f110e0Safresh1EXPECT
41*91f110e0Safresh1Undefined subroutine &main::foo called at - line 3.
42*91f110e0Safresh1########
43*91f110e0Safresh1# NAME calling undef sub resident in its GV
44*91f110e0Safresh1   my $foosub = \&foo;
45*91f110e0Safresh1   &$foosub;
46*91f110e0Safresh1EXPECT
47*91f110e0Safresh1Undefined subroutine &main::foo called at - line 2.
48*91f110e0Safresh1########
49*91f110e0Safresh1# NAME calling undef scalar
50*91f110e0Safresh1   &{+undef};
51*91f110e0Safresh1EXPECT
52*91f110e0Safresh1Can't use an undefined value as a subroutine reference at - line 1.
53*91f110e0Safresh1########
54*91f110e0Safresh1# NAME calling undef magical scalar
55*91f110e0Safresh1   sub TIESCALAR {bless[]}
56*91f110e0Safresh1   sub FETCH {}
57*91f110e0Safresh1   tie $tied, "";
58*91f110e0Safresh1   &$tied;
59*91f110e0Safresh1EXPECT
60*91f110e0Safresh1Can't use an undefined value as a subroutine reference at - line 4.
61