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