This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Restrict the valid identifier syntax, fix some identifier bugs.
[perl5.git] / t / lib / croak / op
1 __END__
2 # NAME my $<special>
3 my $!;
4 EXPECT
5 Can't use global $! in "my" at - line 1, near "my $!"
6 Execution of - aborted due to compilation errors.
7 ########
8 # NAME OP_HELEM fields
9 package Foo;
10 use fields qw(a b);
11 sub new {
12     my $class = shift;
13     return fields::new($class);
14 }
15 my Foo $f = Foo->new;
16 $f->{c} = 1;
17 EXPECT
18 No such class field "c" in variable $f of type Foo at - line 8.
19 ########
20 # NAME OP_HSLICE fields
21 package Foo;
22 use fields qw(a b);
23 sub new {
24     my $class = shift;
25     return fields::new($class);
26 }
27 my Foo $f = Foo->new;
28 @$f{"a", "c"} = ( 1, 2 );
29 EXPECT
30 No such class field "c" in variable $f of type Foo at - line 8.
31 ########
32 # NAME delete BAD
33 delete $x;
34 EXPECT
35 delete argument is not a HASH or ARRAY element or slice at - line 1.
36 ########
37 # NAME exists BAD
38 exists $x;
39 EXPECT
40 exists argument is not a HASH or ARRAY element or a subroutine at - line 1.
41 ########
42 # NAME exists non-sub
43 exists &foo()
44 EXPECT
45 exists argument is not a subroutine name at - line 1.