This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl5db] Extract $obj->_handle_dash_command.
[perl5.git] / t / lib / subs / subs
CommitLineData
6fc551a0
NC
1__END__
2
3# Error - not predeclaring a sub
4Fred 1,2 ;
5sub Fred {}
6EXPECT
7Number found where operator expected at - line 3, near "Fred 1"
8 (Do you need to predeclare Fred?)
9syntax error at - line 3, near "Fred 1"
10Execution of - aborted due to compilation errors.
11########
12
13# Error - not predeclaring a sub in time
14Fred 1,2 ;
15use subs qw( Fred ) ;
16sub Fred {}
17EXPECT
18Number found where operator expected at - line 3, near "Fred 1"
19 (Do you need to predeclare Fred?)
20syntax error at - line 3, near "Fred 1"
21BEGIN not safe after errors--compilation aborted at - line 4.
22########
23
24# AOK
25use subs qw( Fred) ;
26Fred 1,2 ;
27sub Fred { print $_[0] + $_[1], "\n" }
28EXPECT
293
30########
31
32# override a built-in function
33use subs qw( open ) ;
34open 1,2 ;
35sub open { print $_[0] + $_[1], "\n" }
36EXPECT
373
38########
39
40# override a built-in function, call after definition
41use subs qw( open ) ;
42sub open { print $_[0] + $_[1], "\n" }
43open 1,2 ;
44EXPECT
453
46########
47
48# override a built-in function, call with ()
49use subs qw( open ) ;
50open (1,2) ;
51sub open { print $_[0] + $_[1], "\n" }
52EXPECT
533
54########
55
56# override a built-in function, call with () after definition
57use subs qw( open ) ;
58sub open { print $_[0] + $_[1], "\n" }
59open (1,2) ;
60EXPECT
613
62########
63
64--FILE-- abc
65Fred 1,2 ;
661;
67--FILE--
68use subs qw( Fred ) ;
69require "./abc" ;
70sub Fred { print $_[0] + $_[1], "\n" }
71EXPECT
723
73########
74
75# check that it isn't affected by block scope
76{
77 use subs qw( Fred ) ;
78}
79Fred 1, 2;
80sub Fred { print $_[0] + $_[1], "\n" }
81EXPECT
823
734ab321
BF
83########
84
85# Error - not predeclaring a sub
86use utf8;
87use open qw( :utf8 :std );
88Frèd 1,2 ;
89sub Frèd {}
90EXPECT
91Number found where operator expected at - line 5, near "Frèd 1"
92 (Do you need to predeclare Frèd?)
93syntax error at - line 5, near "Frèd 1"
94Execution of - aborted due to compilation errors.
95########
96
97# Error - not predeclaring a sub in time
98use utf8;
99use open qw( :utf8 :std );
100ふれど 1,2 ;
101use subs qw( ふれど ) ;
102sub ふれど {}
103EXPECT
104Number found where operator expected at - line 5, near "ふれど 1"
105 (Do you need to predeclare ふれど?)
106syntax error at - line 5, near "ふれど 1"
107BEGIN not safe after errors--compilation aborted at - line 6.