1 Check the lexical scoping of the say keyword.
2 (The actual behaviour is tested in t/op/say.t)
5 # No say; should be a syntax error.
9 Unquoted string "say" may clash with future reserved word at - line 3.
10 String found where operator expected at - line 3, near "say "Hello""
11 (Do you need to predeclare say?)
12 syntax error at - line 3, near "say "Hello""
13 Execution of - aborted due to compilation errors.
15 # With say, should work
22 # With say, should work in eval too
25 eval q(say "Hello", "world");
29 # feature out of scope; should be a syntax error.
31 { use feature 'say'; }
34 Unquoted string "say" may clash with future reserved word at - line 4.
35 String found where operator expected at - line 4, near "say "Hello""
36 (Do you need to predeclare say?)
37 syntax error at - line 4, near "say "Hello""
38 Execution of - aborted due to compilation errors.
40 # 'no feature' should work
47 Unquoted string "say" may clash with future reserved word at - line 6.
48 String found where operator expected at - line 6, near "say "Hello""
49 (Do you need to predeclare say?)
50 syntax error at - line 6, near "say "Hello""
51 Execution of - aborted due to compilation errors.
53 # 'no feature "say"' should work too
60 Unquoted string "say" may clash with future reserved word at - line 6.
61 String found where operator expected at - line 6, near "say "Hello""
62 (Do you need to predeclare say?)
63 syntax error at - line 6, near "say "Hello""
64 Execution of - aborted due to compilation errors.