<br><br><div class="gmail_quote">2010/1/28 Daniel de Oliveira Mantovani <span dir="ltr">&lt;<a href="mailto:daniel.oliveira.mantovani@gmail.com">daniel.oliveira.mantovani@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Bom, com certeza eu não sou experiente, tudo o que sei é a minha pergunta.<br>
*Onde estão os testes e a documentação?*<br>
<br>
A identação está horrível, o seu tab está consumindo oito &quot;espaços&quot;,<br>
ajuste seu editor de texto para consumir apenas quatro espaços.<br>
<br></blockquote><div>Isso é uma questão pessoal, Mantovani. Você pode não gostar de tabs mais extensos, mas eu por exemplo, não enxergo porcaria nenhuma no seu código onde tudo fica espremidinho. Então não tente &#39;forçar&#39; alguém a escrever como você escreve, só porque você acha melhor. Ao invés disso concentre-se em ajudar a resolver o problema.<br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dei uma olhada rápida, e me atentei a essa sub rotina:<br>
<br>
sub manufacturer{<br>
my $self = $_[0];<br>
<br>
Aqui você pode usar, my $self = shift, vai ter *quase* o mesmo efeito<br>
do my $self = $_[0], aqui você poderia usar:<br>
my $self = shift;<br>
Eu particularmente acho muito mais elegante desse jeito com shift.<br>
<br>
open FABRICANTES,&quot;&lt;enterprise.txt&quot;;<br>
<br>
Sempre quando você usar open, use com três argumentos é mais seguro, e<br>
não esqueça do *die/warn*.<br>
Não use bareword, use uma variável.<br>
Olha só:<br>
open my $fabricante, q{&lt;} &#39;enterprise.txt&#39; or die $!<br></blockquote><div><br><br>Q frescura! porque não simplesmente: <br>my $file = &#39;enterprise.txt&#39;<br>eval{open my $fabricante,&#39;&lt;&#39;, $file};<br>
if($!){<br>               print &quot;\nProblemas ao abrir o arquivo &#39;$file&#39;  -  $!&quot;;<br>}else {<br>#Alguma coisa util aqui...<br><br>}<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
Outra coisa muitíssima importante, sempre quando você abrir um arquivo<br>
feche-o, depois de utilizar(close $fabricante or die $!).<br>
<br></blockquote><div><br>mantovani++<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
my @objIDSplited = split /\./,$self-&gt;{SysObjID};<br>
while(&lt;FABRICANTES&gt;){<br>
<br>
Não é uma boa prática usar a variável $_ desse jeito, dificulta o<br>
entendimento do código, olha só:<br></blockquote><div><br><br>É verdade, mas não é só por causa disso, Mantovani. O problema em se usar $_ dessa forma, é que você corre o risco do interpretador sobrescrever essa variável em um trecho posterior do código(dependendo do código), e fica difícil ter o controle disso, já que, somente o próprio Perl, é quem escreve nessa variável especial e não você(Pelo menos até onde eu sei). Portanto é mais seguro você guardar o valor de $_ o mais rápido possível em uma variável que você possa observar e manipular de maneira mais controlada, ao invés de usar $_ diretamente. <br>
<br>O outro lado disso é que atalhos existem para serem utilizados. Se você tem certeza do que está fazendo, eu realmente não vejo problema em usar $_.<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

while(my $fabri = &lt;FABRICANTE&gt;) {</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
if ($_ =~ /^$objIDSplited[6]\s/){<br>
chomp(my @str = split /\t/, $_);<br>
return ($str[1],$objIDSplited[6]) if wantarray;<br>
return $str[1];<br>
last;<br>
<br>
Esse &quot;last&quot; não tem sentido, quando você faz o &quot;return&quot; ele já termina.<br>
<br>
Olha esse jeito de fazer:<br>
<br>
wantarray ? return ($str[1],$objIDSplited[6]) : return $str[1];<br>
<br></blockquote><div>Três linhas por uma, só que bem mais complicado de entender. Nosso amigo parece estar pouco familiarizado com esses &#39;atalhos&#39;, Mantovani. Embora você tenha razão, é interessante que ele primeiro entenda alguns conceitos antes de ter que lidar com esse tipo de &#39;atalho&#39;. Tente explicar melhor o que você está fazendo nesse trecho acima. <br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Pronto, você troca 3 linhas por uma :)<br>
<br>
<br>
Tem outros &quot;detalhes&quot;.<br>
<br>
}<br>
}<br>
}<br>
<br>
2010/1/28 thiago User &lt;<a href="mailto:thiago@nerdsland.net">thiago@nerdsland.net</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Ok, Ok. Estou aprendendo a usar o git... coloquei uma versão do módulo<br>
&gt; Printer.pm que eu uso no sistema de impressão que criamos na Petro - que<br>
&gt; será batizado de SNMPrinter. Ainda não esta completo, mas estou aberto<br>
&gt; aos comentários e criticas dos colegas mais experientes.<br>
&gt;<br>
&gt;<br>
&gt; git://<a href="http://gist.github.com/289308.git" target="_blank">gist.github.com/289308.git</a><br>
&gt; <a href="http://github.com/thiagoglauco/SNMPrinter" target="_blank">http://github.com/thiagoglauco/SNMPrinter</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; SaoPaulo-pm mailing list<br>
&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
&quot;If you’ve never written anything thoughtful, then you’ve never had<br>
any difficult, important, or interesting thoughts. That’s the secret:<br>
people who don’t write, are people who don’t think.&quot;<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br><br><br>