1__END__ 2# NAME join, 3join, 4EXPECT 5Not enough arguments for join or string at - line 1, near "join," 6Execution of - aborted due to compilation errors. 7######## 8# NAME my $<special> 9my $!; 10EXPECT 11Can't use global $! in "my" at - line 1, near "my $!" 12Execution of - aborted due to compilation errors. 13######## 14# NAME my $<non-ASCII> doesn't output garbage 15# \xB6 is same character in all three EBCDIC pages and Latin1 16use open ":std", ":utf8"; 17eval qq|my \$\xb6;|; # ¶ in Latin-1, and EBCDIC 1047, 037, POSIX-BC 18print $@; 19exit 1; 20EXPECT 21Can't use global $¶ in "my" at (eval 1) line 1, near "my $¶" 22######## 23# NAME OP_HELEM fields 24package Foo; 25use fields qw(a b); 26sub new { 27 my $class = shift; 28 return fields::new($class); 29} 30my Foo $f = Foo->new; 31$f->{c} = 1; 32EXPECT 33No such class field "c" in variable $f of type Foo at - line 8. 34######## 35# NAME "No such field" with block: ${$ref}{key} 36%FIELDS; # empty hash so all keys are invalid 37my main $r; 38${$r}{key}; 39EXPECT 40No such class field "key" in variable $r of type main at - line 3. 41######## 42# NAME OP_HSLICE fields 43package Foo; 44use fields qw(a b); 45sub new { 46 my $class = shift; 47 return fields::new($class); 48} 49my Foo $f = Foo->new; 50@$f{"a", "c"} = ( 1, 2 ); 51EXPECT 52No such class field "c" in variable $f of type Foo at - line 8. 53######## 54# NAME Single OP_HSLICE field 55%FIELDS; # vivify it, but leave it empty, so all fields are invalid 56my main $f; 57@$f{"a"}; 58EXPECT 59No such class field "a" in variable $f of type main at - line 3. 60######## 61# NAME OP_KVHSLICE fields 62BEGIN { %FIELDS = qw(a 1 b 1); } 63my main $f; 64%$f{"a","c"}; 65EXPECT 66No such class field "c" in variable $f of type main at - line 3. 67######## 68# NAME Can't declare conditional 69my($a?$b:$c) 70EXPECT 71Can't declare conditional expression in "my" at - line 1, at EOF 72Execution of - aborted due to compilation errors. 73######## 74# NAME Can't declare do block 75my(do{}) 76EXPECT 77Can't declare do block in "my" at - line 1, at EOF 78Execution of - aborted due to compilation errors. 79######## 80# NAME ($_, state $x) = ... 81($_, CORE::state $x) = (); 82EXPECT 83Initialization of state variables in list context currently forbidden at - line 1, near ");" 84Execution of - aborted due to compilation errors. 85######## 86# NAME my $y; ($y, state $x) = ... 87my $y; ($y, CORE::state $x) = (); 88EXPECT 89Initialization of state variables in list context currently forbidden at - line 1, near ");" 90Execution of - aborted due to compilation errors. 91######## 92# NAME delete BAD 93delete $x; 94EXPECT 95delete argument is not a HASH or ARRAY element or slice at - line 1. 96######## 97# NAME delete sort 98use warnings; 99delete sort; # used to warn about scalar context, too 100EXPECT 101delete argument is not a HASH or ARRAY element or slice at - line 2. 102######## 103# NAME exists BAD 104exists $x; 105EXPECT 106exists argument is not a HASH or ARRAY element or a subroutine at - line 1. 107######## 108# NAME exists non-sub 109exists &foo() 110EXPECT 111exists argument is not a subroutine name at - line 1. 112######## 113# NAME push BAREWORD 114push FRED; 115EXPECT 116Type of arg 1 to push must be array (not constant item) at - line 1, near "FRED;" 117Execution of - aborted due to compilation errors. 118######## 119# NAME pop BAREWORD 120pop FRED; 121EXPECT 122Type of arg 1 to pop must be array (not constant item) at - line 1, near "FRED;" 123Execution of - aborted due to compilation errors. 124######## 125# NAME shift BAREWORD 126shift FRED; 127EXPECT 128Type of arg 1 to shift must be array (not constant item) at - line 1, near "FRED;" 129Execution of - aborted due to compilation errors. 130######## 131# NAME unshift BAREWORD 132unshift FRED; 133EXPECT 134Type of arg 1 to unshift must be array (not constant item) at - line 1, near "FRED;" 135Execution of - aborted due to compilation errors. 136######## 137# NAME keys BAREWORD 138@a = keys FRED ; 139EXPECT 140Type of arg 1 to keys must be hash (not constant item) at - line 1, near "FRED ;" 141Execution of - aborted due to compilation errors. 142######## 143# NAME values BAREWORD 144@a = values FRED ; 145EXPECT 146Type of arg 1 to values must be hash (not constant item) at - line 1, near "FRED ;" 147Execution of - aborted due to compilation errors. 148######## 149# NAME each BAREWORD 150@a = each FRED ; 151EXPECT 152Type of arg 1 to each must be hash (not constant item) at - line 1, near "FRED ;" 153Execution of - aborted due to compilation errors. 154