summaryrefslogtreecommitdiffstats
path: root/perl_checker.src/test/context.t
blob: 637360e7de9d8f79b5e4431d7a6b7ea1475d5a9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
foreach (%h) {}                          context hash is not compatible with context list
                                         foreach with a hash is usually an error

map { 'xxx' } %h                         a hash is not a valid parameter to function map

$xxx = ('yyy', 'zzz')                    context tuple(string, string) is not compatible with context scalar

@l ||= 'xxx'                             "||=" is only useful with a scalar

length @l                                never use "length @l", it returns the length of the string int(@l)

%h . 'yyy'                               context hash is not compatible with context string

'xxx' > 'yyy'                            context string is not compatible with context float
                                         context string is not compatible with context float
                                         

1 cmp 2                                  you should use a number operator, not the string operator "cmp" (or replace the number with a string)

$xxx == undef                            context undef is not compatible with context float

my ($xxx) = 1                            context int is not compatible with context tuple(scalar)

($xxx, $yyy) = 1                         context int is not compatible with context tuple(scalar, scalar)

($xxx, $yyy) = (1, 2, 3)                 context tuple(int, int, int) is not compatible with context tuple(scalar, scalar)

@l eq '3'                                context array is not compatible with context string

qw(a b) > 2                              context tuple(string, string) is not compatible with context float

%h > 0                                   context hash is not compatible with context float

%h eq 0                                  context hash is not compatible with context string
                                         you should use a number operator, not the string operator "eq" (or replace the number with a string)

@l == ()