blob: 48a8ece63df96634275d2f3698645b84bfc9dd78 (
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
local $xxx ||= $yyy applying ||= on a new initialized variable is wrong
$1 =~ s/xxx/yyy/ do not modify the result of a match (eg: $1)
$xxx[1, 2] you must give only one argument
$xxx[] you must give one argument
my $_x = 'xxx' if $xxx; replace "my $foo = ... if <cond>" with "my $foo = <cond> && ..."
$xxx or my $_x = 'xxx'; replace "<cond> or my $foo = ..." with "my $foo = !<cond> && ..."
'' || 'xxx' <constant> || ... is the same as ...
if ($xxx = '') {} are you sure you did not mean "==" instead of "="?
N("xxx$yyy") don't use interpolated translated string, use %s or %d instead
if ($xxx && $yyy = xxx()) {} invalid lvalue
1 + 2 >> 3 missing parentheses (needed for clarity)
$xxx ? $yyy = 1 : $zzz = 2; missing parentheses (needed for clarity)
invalid lvalue
N_("xxx") . 'yyy' N_("xxx") . "yyy" is dumb since the string "xxx" will never get translated
join(@l) first argument of join() must be a scalar
join(',', 'foo') join('...', $foo) is the same as $foo
if_($xxx) not enough parameters
push @l you must give some arguments to push
push $xxx, 1 push is expecting an array
pop $xxx pop is expecting an array and nothing else
my (@l2, $xxx) = @l; @l2 takes all the arguments, $xxx is undef in any case
$bad undeclared variable $bad
{ my $a } unused variable $a
my $xxx; yyy($xxx); my $xxx; redeclared variable $xxx
{ my $xxx; $xxx = 1 } variable $xxx assigned, but not read
$a undeclared variable $a
use bad; can't find package bad
use pkg3 ':bad'; package pkg3 doesn't export tag :bad
bad(); unknown function bad
use pkg3 ':missing_fs'; name &f is not defined in package pkg3
f(); name &f0 is not defined in package pkg3
use pkg3 'f'; name &f is not defined in package pkg3
f();
|