Да, вот как Perl :: Критик работает.
Я не уверен, что он был явно разработан таким образом, но компиляция Perl-кода настолько тривиальна, что его даже не рассматривали. Он также не знает, как создать свой код Perl, если ему нужно установить любые пути к библиотеке или еще что-то еще, чтобы добавить дополнительную сложность конфигурации. Кроме того, компиляция Perl-кода может выполнять Perl-код, поэтому он становится проблемой безопасности.
Однако он не может корректно работать с кодом, который не компилируется. Поэтому лучше всего скомпилировать код перед линией.
Для проверки синтаксиса вы можете использовать perl -c <your program>
. Для более систематических проверок вы можете написать тест, используя Test::Compile. Поместите его в t/00compile.t
. Затем вы можете использовать Test::Perl::Critic для тестирования кода, который не нарушает ваши стандарты. Поместите это в t/00critic.t
, и он будет запущен после проверки компиляции.
'perl -c script.pl' проведет проверку синтаксиса. Не уверен, почему «Perl :: Critic» будет дублировать это. – Andomar
'perl -c' может уведомлять вас о проблемах с синтаксисом. 'perlcritic' - это программа lint, а не компилятор. – jordanm
'perl -c' имеет« [уязвимость] (https://github.com/SublimeLinter/SublimeLinter/issues/77) » –