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