<div class="gmail_quote">2011/2/20 breno <span dir="ltr">&lt;<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>&gt;</span></div><div class="gmail_quote"><span dir="ltr"></span>[...]<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


suficiente. Agora que vc detalhou melhor o problema e as<br>
circunstâncias associadas, ficou mais fácil :)<br></blockquote><div><br></div><div>idem ;-)</div><div> </div><div>[...]</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


1. Remover o [PkgVersion] do seu dist.ini e configurar $VERSION<br>
manualmente. Mas se vc está usando o dzil, suponho que o principal<br>
motivo seja a preguiça, e quando a gente começa a atualizar versão<br></blockquote><div><br></div><div>exatamente. #1 is out</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


2. Colocar o &quot;header da alegria&quot; antes da definição do pacote. Ou seja:<br>
<br>
--------------8&lt;--------------<br>
use strict;<br>
use warnings;<br>
package Queue::Base;<br>
...<br>
--------------&gt;8--------------<br>
<br>
Testei aqui com o Queue::Base e o &quot;dzil build&quot; criou um Base.pm que<br>
passava no critic --brutal (pelo menos em relação ao teste em<br>
questão);<br></blockquote><div><br></div><div>Eu havia tentado isso e ele tinha reclamado - mas pode ser que a reclamação dele tenha sido causada também pelo BEGIN { } antes do package - eu não refiz esse teste após o entendimento do problema.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2.5. Usar o plugin [Prepender] com as linhas do &quot;header da alegria&quot;,<br>
pra não precisar fazer o passo 2 manualmente;<br></blockquote><div><br></div><div>Essa solução é a que me foi indicada no canal #distzilla, mas confesso que não gostei muito dela, ainda que eu não saiba explicar exatamente o porquê.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
3. Utilizar o [OurPkgVersion] em vez do [PkgVersion]. Também resolve o<br>
problema. <a href="http://search.cpan.org/perldoc?Dist::Zilla::Plugin::OurPkgVersion" target="_blank">http://search.cpan.org/perldoc?Dist::Zilla::Plugin::OurPkgVersion</a></blockquote><div><br></div><div>#3 foi a solução adotada. Ela tem um outro problema, mas um no qual eu posso atuar mais facilmente: o OurPkgVersion gera um código, para uma versão 3.4.5 (por exemplo), que é assim:</div>

<div><br></div><div>our $VERSION = 3.4.5;</div><div><br></div><div>- sem aspas em torno do número de versão. Eu não lembro (e estou com preguiça agora de procurar) as regras de parsing do Perl para coisas numéricas com vários pontos no meio, mas isso pra mim tem cheiro de coisa que vai feder depois e vai demorar até lembrar que isso é o problema.</div>

<div><br></div><div>Já estou gerando um patch para o OurPkgVersion para gerar o código COM aspas.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">4. Adicionar a tag mágica  ## no critic (RequireUseStrict,<br>


RequireUseWarnings);  (não recomendo)<br></blockquote><div><br></div><div>Nem eu ;-)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">5. Fazer um patch para as políticas associadas:<br>


Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict,<br>
Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings, para<br>
permitir blocos de compile-time (como BEGIN {} ). Já existe um pedido<br>
pra isso no RT do Perl::Critic<br>
(<a href="https://rt.cpan.org/Public/Bug/Display.html?id=65839" target="_blank">https://rt.cpan.org/Public/Bug/Display.html?id=65839</a>) mas o autor não<br>
parece muito inclinado a fazer isso, pelo menos não com os argumentos<br>
fornecidos (e sem um patch já pronto). Há uma discussão maior sobre a<br>
mesma questão em <a href="https://rt.cpan.org/Public/Bug/Display.html?id=28676" target="_blank">https://rt.cpan.org/Public/Bug/Display.html?id=28676</a><br>
- acho que ainda não decidiram se é um bug ou uma feature :)<br></blockquote><div><br></div><div>Bom, se já tem nego trabalhando nisso, e já há controvérsia, isso é garantia de que esta solução demoraria muito para ser implementada, se é que seria. Dado que a #3 funciona (e eventualmente o patch poderá entrar mais rápido), não justifica ir por este caminho. #5 is out.</div>

<div><br></div><div>Há uma opção #6: fazer um patch para o PkgVersion, para que ele gere o BEGIN { ... } *após* os headers &quot;da alegria&quot;, mas essa alternativa tem outros problemas que precisariam ser resolvidos.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Espero ter ajudado!<br></blockquote><div><br></div><div>As always! :-)</div><div> </div><div>[]s,</div></div>

-- <br><font face="georgia, serif">Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com" target="_blank">russoz.wordpress.com</a>] [<a href="http://www.flickr.com/photos/alexeiz" target="_blank">www.flickr.com/photos/alexeiz</a>]<br>

<span style="border-collapse:collapse"><div>«Only love / Can bring the rain / That makes you yearn to the sky»</div></span></font><br>