xref: /openbsd/gnu/usr.bin/perl/t/lib/subs/subs (revision f2a19305)
1898184e3Ssthen__END__
2898184e3Ssthen
3898184e3Ssthen# Error - not predeclaring a sub
4898184e3SsthenFred 1,2 ;
5898184e3Ssthensub Fred {}
6898184e3SsthenEXPECT
7*f2a19305Safresh1Number found where operator expected (Do you need to predeclare "Fred"?) at - line 3, near "Fred 1"
8898184e3Ssthensyntax error at - line 3, near "Fred 1"
9898184e3SsthenExecution of - aborted due to compilation errors.
10898184e3Ssthen########
11898184e3Ssthen
12898184e3Ssthen# Error - not predeclaring a sub in time
13898184e3SsthenFred 1,2 ;
14898184e3Ssthenuse subs qw( Fred ) ;
15898184e3Ssthensub Fred {}
16898184e3SsthenEXPECT
17*f2a19305Safresh1Number found where operator expected (Do you need to predeclare "Fred"?) at - line 3, near "Fred 1"
18898184e3Ssthensyntax error at - line 3, near "Fred 1"
19*f2a19305Safresh1Execution of - aborted due to compilation errors.
20898184e3Ssthen########
21898184e3Ssthen
22898184e3Ssthen# AOK
23898184e3Ssthenuse subs qw( Fred) ;
24898184e3SsthenFred 1,2 ;
25898184e3Ssthensub Fred { print $_[0] + $_[1], "\n" }
26898184e3SsthenEXPECT
27898184e3Ssthen3
28898184e3Ssthen########
29898184e3Ssthen
30898184e3Ssthen# override a built-in function
31898184e3Ssthenuse subs qw( open ) ;
32898184e3Ssthenopen 1,2 ;
33898184e3Ssthensub open { print $_[0] + $_[1], "\n" }
34898184e3SsthenEXPECT
35898184e3Ssthen3
36898184e3Ssthen########
37898184e3Ssthen
38898184e3Ssthen# override a built-in function, call after definition
39898184e3Ssthenuse subs qw( open ) ;
40898184e3Ssthensub open { print $_[0] + $_[1], "\n" }
41898184e3Ssthenopen 1,2 ;
42898184e3SsthenEXPECT
43898184e3Ssthen3
44898184e3Ssthen########
45898184e3Ssthen
46898184e3Ssthen# override a built-in function, call with ()
47898184e3Ssthenuse subs qw( open ) ;
48898184e3Ssthenopen (1,2) ;
49898184e3Ssthensub open { print $_[0] + $_[1], "\n" }
50898184e3SsthenEXPECT
51898184e3Ssthen3
52898184e3Ssthen########
53898184e3Ssthen
54898184e3Ssthen# override a built-in function, call with () after definition
55898184e3Ssthenuse subs qw( open ) ;
56898184e3Ssthensub open { print $_[0] + $_[1], "\n" }
57898184e3Ssthenopen (1,2) ;
58898184e3SsthenEXPECT
59898184e3Ssthen3
60898184e3Ssthen########
61898184e3Ssthen
62898184e3Ssthen--FILE-- abc
63898184e3SsthenFred 1,2 ;
64898184e3Ssthen1;
65898184e3Ssthen--FILE--
66898184e3Ssthenuse subs qw( Fred ) ;
67898184e3Ssthenrequire "./abc" ;
68898184e3Ssthensub Fred { print $_[0] + $_[1], "\n" }
69898184e3SsthenEXPECT
70898184e3Ssthen3
71898184e3Ssthen########
72898184e3Ssthen
73898184e3Ssthen# check that it isn't affected by block scope
74898184e3Ssthen{
75898184e3Ssthen    use subs qw( Fred ) ;
76898184e3Ssthen}
77898184e3SsthenFred 1, 2;
78898184e3Ssthensub Fred { print $_[0] + $_[1], "\n" }
79898184e3SsthenEXPECT
80898184e3Ssthen3
81898184e3Ssthen########
82898184e3Ssthen
83898184e3Ssthen# Error - not predeclaring a sub
84898184e3Ssthenuse utf8;
85898184e3Ssthenuse open qw( :utf8 :std );
86898184e3SsthenFrèd 1,2 ;
87898184e3Ssthensub Frèd {}
88898184e3SsthenEXPECT
89*f2a19305Safresh1Number found where operator expected (Do you need to predeclare "Frèd"?) at - line 5, near "Frèd 1"
90898184e3Ssthensyntax error at - line 5, near "Frèd 1"
91898184e3SsthenExecution of - aborted due to compilation errors.
92898184e3Ssthen########
93898184e3Ssthen
94898184e3Ssthen# Error - not predeclaring a sub in time
95898184e3Ssthenuse utf8;
96898184e3Ssthenuse open qw( :utf8 :std );
97898184e3Ssthenふれど 1,2 ;
98898184e3Ssthenuse subs qw( ふれど ) ;
99898184e3Ssthensub ふれど {}
100898184e3SsthenEXPECT
101*f2a19305Safresh1Number found where operator expected (Do you need to predeclare "ふれど"?) at - line 5, near "ふれど 1"
102898184e3Ssthensyntax error at - line 5, near "ふれど 1"
103*f2a19305Safresh1Execution of - aborted due to compilation errors.
104