diff options
Diffstat (limited to 'src/test/various_errors.t')
-rw-r--r-- | src/test/various_errors.t | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/various_errors.t b/src/test/various_errors.t new file mode 100644 index 0000000..48a8ece --- /dev/null +++ b/src/test/various_errors.t @@ -0,0 +1,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(); |