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