2 use Test::More tests => 24;
4 use warnings FATAL => 'all';
7 use Function::Parameters;
9 is eval 'fun :([) {}', undef;
10 like $@, qr/Illegal character in prototype/;
12 is eval 'fun :(][[[[[[) {}', undef;
13 like $@, qr/Illegal character in prototype/;
15 is eval 'fun :(\;) {}', undef;
16 like $@, qr/Illegal character after '\\' in prototype/;
18 is eval 'fun :(\[_;@]) {}', undef;
19 like $@, qr/Illegal character after '\\' in prototype/;
21 is eval 'fun :(\+) {}', undef;
22 like $@, qr/Illegal character after '\\' in prototype/;
24 is eval 'fun :(\\\\) {}', undef;
25 like $@, qr/Illegal character after '\\' in prototype/;
27 is eval 'fun :([$]) {}', undef;
28 like $@, qr/Illegal character in prototype/;
30 is eval 'fun :(\[_$]) {}', undef;
31 like $@, qr/Illegal character after '\\' in prototype/;
34 no warnings qw(illegalproto);
36 ok eval 'fun :([) {}';
37 ok eval 'fun :(][[[[[[) {}';
38 ok eval 'fun :(\;) {}';
39 ok eval 'fun :(\[_;@]) {}';
40 ok eval 'fun :(\+) {}';
41 ok eval 'fun :(\\\\) {}';
42 ok eval 'fun :([$]) {}';
43 ok eval 'fun :(\[_$]) {}';