[SP-pm] Critic... too much

Eden Cardim edencardim at gmail.com
Sat Feb 19 05:17:04 PST 2011


>>>>> "Alexei" == Alexei Znamensky <russoz em gmail.com> writes:

    Alexei> Moçada, Estou colocando o teste com o perl critic em um
    Alexei> módulo, e ele está dando (entre outros) os seguintes erros:

    Alexei> # Perl::Critic found these violations in "blib/lib/Queue/Base.pm":
    Alexei> # Code before strictures are enabled at line 3, column 1.  See page 429 of PBP.  (Severity: 5)
    Alexei> # Code before warnings are enabled at line 3, column 1.  See page 431 of PBP.  (Severity: 4)

    Alexei> Mas o começo do arquivo está assim:

    Alexei> ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------
    Alexei> package Queue::Base;
    Alexei> use strict;
    Alexei> use warnings;

    Alexei> use Carp;

    Alexei> sub new {
    Alexei> ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------ >8 ------

    Alexei> WTF???

    Alexei> Eu tentei colocar o strict e o warnings antes do package,
    Alexei> mas daí ele reclamou que estou fazendo coisas que não estão
    Alexei> em um package... *sigh*

Observa que ele tá reclamando das violações na linha 3, então acho que o
blib/lib/Queue/Base.pm está dessincronizado com esse código que você
mostrou. Tenta re-executar o perlcritic passando o caminho explícito pro
Queue::Base, aqui eu obtive o mesmo resultado do breno:

,----[ cat lib/Queue/Base.pm | nl -b a | cut -c 6- ]
| 1	package Queue::Base;
| 2	use warnings;
| 3	use strict;
| 4	
| 5	use Carp;
| 6	sub new {}
| 7	
| 8	1;
`----
,----[ perlcritic --brutal lib/Queue/Base.pm ]
| Code is not tidy at line 1, column 1.  See page 33 of PBP.  (Severity: 1)
| RCS keywords $Id$ not found at line 1, column 1.  See page 441 of PBP.  (Severity: 2)
| RCS keywords $Revision$, $HeadURL$, $Date$ not found at line 1, column 1.  See page 441 of PBP.  (Severity: 2)
| RCS keywords $Revision$, $Source$, $Date$ not found at line 1, column 1.  See page 441 of PBP.  (Severity: 2)
| No package-scoped "$VERSION" variable found at line 1, column 1.  See page 404 of PBP.  (Severity: 2)
`----

>>>>> "breno" == breno  <breno em rio.pm.org> writes:

    breno> "blib"?

>>>>> "Thiago" == Thiago  <thiagoglauco em ticursos.net> writes:

    Thiago> blib/lib é a pasta onde o Queue::Base esta instalada na maquina dele.

Apesar de poder instalar o módulo num diretório arbitrariamente chamado
blib se quiser, blib ("build lib") costuma ser o diretório onde os
builders/installers (ExtUtils::MakeMaker, Module::Install,
Module::Build) usam pra fazer o build/staging do módulo antes de
instalar. Então é possível que a source tree e o blib do russo esteja
dessincronizada.

A propósito, alguém se habilita a palestrar sobre o Perl::Critic no SPPW?

-- 
Eden Cardim
Software Engineer
+55 73 9986-3963
edencardim.com


More information about the SaoPaulo-pm mailing list