In simple case it just miss warnings:
$ echo '$a=5;' | perl syntax_checkers/efm_perl.pl -c -w -
(nothing, while it should be this:)
W:-:1:Name "main::a" used only once: possible typo
In complex cases with some other errors it show crazy warnings
in crazy line numbers.
Use case when efm_perl run on STDIN can be found in issue#261.
First example:
$ echo -e 'if (0)\nsome();\n}' | perl -c -
Semicolon seems to be missing at - line 1.
syntax error at - line 2, near ")
some"
Unmatched right curly bracket at - line 3, at end of line
- had compilation errors.
$ echo -e 'if (0)\nsome();\n}' | perl syntax_checkers/efm_perl.pl -c -
-:1:Semicolon seems to be missing
Second example:
$ echo -e 'if (0)' | perl -c -
syntax error at - line 1, at EOF
- had compilation errors.
$ echo -e 'if (0)' | perl syntax_checkers/efm_perl.pl -c -
previously we assumed the user had efm_perl.pl installed as part of the
standard vim runtime, but this isnt so for CentOS and possibly for other
distros - see issue #159. Therefore, we now ship it with syntastic
itself.
Note: efm_perl.pl just munges the output of perl into a different
format. It may be worth investigating further and writing our own
errorformat to remove the dependency on efm_perl.