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