Commit Graph
3 Commits
Author SHA1 Message Date
Olaf Aldersandw0rp 8a77290553 [WIP] Begin to distinguish between Perl warnings and errors (#933)
* If a Perl script compiles, there are only warnings and no errors

* Let the first Perl error or warning win.

Take the following example:

***

sub foo {
    my $thing;

***

This might have the following messages when we compile it:

Missing right curly or square bracket at warning.pl line 7, at end of
line
syntax error at warning.pl line 7, at EOF
warning.pl had compilation errors.

With the current behaviour, we just get a "syntax error" message, which
isn't all that helpful.  With this patch we get "Missing right curly or
square bracket".

* Fix variable scope and pattern matching syntax

* Use named variable to enhance clarity when matching Perl output

* Add more tests for Perl linter

* Remove unnecessary parens

* Simplify check for pattern match
2018-03-02 21:04:52 +00:00
Olaf Alders aea5de282e Explain in more detail why perl checks are disabled by default 2018-02-28 10:26:44 -05:00
Olaf Alders fa02b1d259 Remove -X flag from perl defaults.
"-X Disables all warnings regardless of use warnings or $^W".  See
"perldoc perlrun" or http://perldoc.perl.org/perlrun.html

With the current defaults, warnings are squashed.  For example:

$ perl -X -Mwarnings -c -e'BEGIN { 42 + undef }'
-e syntax OK

$ perl -Mwarnings -c -e'BEGIN { 42 + undef }'
Use of uninitialized value in addition (+) at -e line 1.
-e syntax OK

So, it's not clear from the current defaults whether Ale wants to remove
warnings or enable them.  As it stands, it's trying to do both and the
disabling appears to win.

This commit enables warnings by default.
2017-05-30 16:07:21 -04:00