[SP-pm] Printer.pm - aberto a comentarios

Thiago Glauco Sanchez thiago at nerdsland.net
Fri Jan 29 05:11:36 PST 2010


Cara... essa comunidade é a melhor. Mantovani, obrigado pelas dicas, estou 
te seguindo no git. Lindolfo, agradeço também o toque, vou ver esse módulos 
sim. 

Este eh o script com os testes basicos do modulo Printer.pm. Adicionei uns 
comentarios no modulo no git. 

Adicionei um script basico de teste no arquivo README. Este fim de semana 
vou fazer mais uns ajustes e publicar direitinho no git. 

O meu script de teste gera a seguinte saída: 

D:\Documents and settings\xxxx\workspace\Printer>perl print2.pl 
10.142.105.205 


****************** 
IM034280-A1HQ    10.142.105.205 Is Live 
Fabricante       Xerox 
        Warning == 0 
        NotEspecified == 3 
        Critical == 0 
        Normal == 0 
        7-515 17-09 Bypass tray is empty. Load additional media in tray. 
Printin 
g can continue from other available trays. 
        3-551 15-33 The Fax Service is unavailable. Please call for 
assistance. 
Printing can continue. 
        inputMediaSupplyEmpty(808) 
        inputMediaSupplyLow(807) 
        30 
        7-531 17-14 Tray 1 media supply is low. Additional media may be 
required 
 to be loaded into this tray soon. Printing can continue. 


D:\Documents and settings\x8ge\workspace\Printer>perl print2.pl 10.142.4.122 


****************** 
LXK520   10.142.4.122 Is Live 
Fabricante       LexmarkInternational 
        Warning == 0 
        NotEspecified == 0 
        Critical == 0 
        Normal == 0 


Agora, eu prefiro usa my $self = $_[0], pq eh menos elegante mas eh uma 
chamada de funcao a menos. Agora, quanto a questao da segunca do close eu 
realmente nao sabia. Tinha o habito de deixar o Perl fechar os filehandles 
por conta propria... Fechava apenas em scripts longos - mas apenas por nao 
ter certeza se isso consumiria muita memoria... E eu gosto muito de usar $_ 
pq como eu disse, nao sou criativo com nomes... ai eu acabo pecando em usar 
$_ ou nomear variaveis que servem para a mesma coisa com o mesmo nome em 
metodos diferentes, como $self, $ip, $manufacturer... Outra coisa 
deselegante que eu faço é acessar diretamente, mesmo que apenas para 
leitura, as propriedades do objeto - $self->{SysName}, $self->{status} - por 
preguiça pq eu poderia criar um autoload e pq eu nao sei ainda como 
torna-las private no Perl. 

Em 29 Jan 2010, saopaulo-pm em pm.org escreveu:>Send SaoPaulo-pm mailing list 
submissions to > saopaulo-pm em pm.org >>To subscribe or unsubscribe via the 
World Wide Web, visit > http://mail.pm.org/mailman/listinfo/saopaulo-pm >or, 
via email, send a message with subject or body 'help' to > 
saopaulo-pm-request em pm.org >>You can reach the person managing the list at > 
saopaulo-pm-owner em pm.org >>When replying, please edit your Subject line so 
it is more specific >than "Re: Contents of SaoPaulo-pm digest...">>Today's 
Topics: >> 1. Re: Adorei o novo site (Thiago Rondon) (thiago User) > 2. 
Printer.pm - aberto a coment?rios. (thiago User) > 3. Re: Printer.pm - 
aberto a coment?rios. (Lindolfo "Lorn" Rodrigues) > 4. Re: Printer.pm - 
aberto a coment?rios. (Lindolfo "Lorn" Rodrigues) > 5. Re: Printer.pm - 
aberto a coment?rios. > (Daniel de Oliveira Mantovani) > 6. Re: Printer.pm - 
aberto a coment?rios. > (Daniel de Oliveira Mantovani) > 7. Re: Printer.pm - 
aberto a coment?rios. (Andre 
Carneiro)>>---------------------------------------------------------------------- 
>>Message: 1 >Date: Thu, 28 Jan 2010 20:48:23 -0300 >From: thiago User 
>Subject: Re: [SP-pm] Adorei o novo site (Thiago Rondon) >To: 
saopaulo-pm em pm.org >Message-ID: 
<1264722503.3693.1.camel em ubuntu.ubuntu-domain> >Content-Type: text/plain; 
charset="UTF-8" >>Em Qui, 2010-01-28 ?s 12:00 -0800, 
saopaulo-pm-request em pm.org escreveu: >> Re: Adorei o novo site (Thiago 
Rondon) >>>Em rela??o ao equin?cio, os artigos ser?o liberados um por dia, 
no m?s >>de mar?o, o pessoal j? esta se movimentando e escrevendo, 
ressaltando >>que est?o faltando ainda dois dias para serem completados! 
>>Volunt?rios ? >>Que tipo de ajuda , Rondon? Gostaria de 
ajudar.>>------------------------------ >>Message: 2 >Date: Thu, 28 Jan 2010 
21:51:30 -0300 >From: thiago User >Subject: [SP-pm] Printer.pm - aberto a 
coment?rios. >To: saopaulo-pm em pm.org >Message-ID: 
<1264726290.3693.36.camel em ubuntu.ubuntu-domain> >Content-Type: text/plain; 
charset="UTF-8" >>Ok, Ok. Estou aprendendo a usar o git... coloquei uma 
vers?o do m?dulo >Printer.pm que eu uso no sistema de impress?o que criamos 
na Petro - que >ser? batizado de SNMPrinter. Ainda n?o esta completo, mas 
estou aberto >aos coment?rios e criticas dos colegas mais 
experientes.>>git://gist.github.com/289308.git 
>http://github.com/thiagoglauco/SNMPrinter>>------------------------------ 
>>Message: 3 >Date: Thu, 28 Jan 2010 22:58:37 -0200 >From: "Lindolfo 
\"Lorn\" Rodrigues" >Subject: Re: [SP-pm] Printer.pm - aberto a coment?rios. 
>To: saopaulo-pm em mail.pm.org >Cc: saopaulo-pm em pm.org >Message-ID: > 
>Content-Type: text/plain; charset="iso-8859-1" >>Boa thiago! >>Dica rapida, 
leia isso http://www.perlmonks.org/?node_id=431702 e veja esse >modulo : 
>>http://search.cpan.org/~petdance/Module-Starter-1.54/lib/Module/Starter.pm 
>>Ele j? cria toda a estrutura necessaria para seu codigo ir para o CPAN, e 
>"automaticamente" aumente a qualidade pois j? configura alguns testes, e 
>voc? deve adicionar mais e aprimora-los. >>2010/1/28 thiago User >>> Ok, 
Ok. Estou aprendendo a usar o git... coloquei uma vers?o do m?dulo >> 
Printer.pm que eu uso no sistema de impress?o que criamos na Petro - que >> 
ser? batizado de SNMPrinter. Ainda n?o esta completo, mas estou aberto >> 
aos coment?rios e criticas dos colegas mais experientes. >> >> >> 
git://gist.github.com/289308.git >> 
http://github.com/thiagoglauco/SNMPrinter >> >> >> 
_______________________________________________ >> SaoPaulo-pm mailing list 
>> SaoPaulo-pm em pm.org >> http://mail.pm.org/mailman/listinfo/saopaulo-pm>>-- 
>lorn at lornlab dot org >Lindolfo "Lorn" Rodrigues >-------------- next 
part -------------- >An HTML attachment was scrubbed... 
>URL:>>------------------------------ >>Message: 4 >Date: Thu, 28 Jan 2010 
22:58:37 -0200 >From: "Lindolfo \"Lorn\" Rodrigues" >Subject: Re: [SP-pm] 
Printer.pm - aberto a coment?rios. >To: saopaulo-pm em mail.pm.org >Cc: 
saopaulo-pm em pm.org >Message-ID: > >Content-Type: text/plain; 
charset="iso-8859-1" >>Boa thiago! >>Dica rapida, leia isso 
http://www.perlmonks.org/?node_id=431702 e veja esse >modulo : 
>>http://search.cpan.org/~petdance/Module-Starter-1.54/lib/Module/Starter.pm 
>>Ele j? cria toda a estrutura necessaria para seu codigo ir para o CPAN, e 
>"automaticamente" aumente a qualidade pois j? configura alguns testes, e 
>voc? deve adicionar mais e aprimora-los. >>2010/1/28 thiago User >>> Ok, 
Ok. Estou aprendendo a usar o git... coloquei uma vers?o do m?dulo >> 
Printer.pm que eu uso no sistema de impress?o que criamos na Petro - que >> 
ser? batizado de SNMPrinter. Ainda n?o esta completo, mas estou aberto >> 
aos coment?rios e criticas dos colegas mais experientes. >> >> >> 
git://gist.github.com/289308.git >> 
http://github.com/thiagoglauco/SNMPrinter >> >> >> 
_______________________________________________ >> SaoPaulo-pm mailing list 
>> SaoPaulo-pm em pm.org >> http://mail.pm.org/mailman/listinfo/saopaulo-pm>>-- 
>lorn at lornlab dot org >Lindolfo "Lorn" Rodrigues >-------------- next 
part -------------- >An HTML attachment was scrubbed... 
>URL:>>------------------------------ >>Message: 5 >Date: Thu, 28 Jan 2010 
23:14:43 -0200 >From: Daniel de Oliveira Mantovani > >Subject: Re: [SP-pm] 
Printer.pm - aberto a coment?rios. >To: saopaulo-pm em mail.pm.org >Message-ID: 
> <214823ca1001281714k6014091dl197c96507a2d0d0a em mail.gmail.com> 
>Content-Type: text/plain; charset=windows-1252 >>Bom, com certeza eu n?o 
sou experiente, tudo o que sei ? a minha pergunta. >*Onde est?o os testes e 
a documenta??o?* >>A identa??o est? horr?vel, o seu tab est? consumindo oito 
"espa?os", >ajuste seu editor de texto para consumir apenas quatro espa?os. 
>>Dei uma olhada r?pida, e me atentei a essa sub rotina: >>sub manufacturer{ 
>my $self = $_[0]; >>Aqui voc? pode usar, my $self = shift, vai ter *quase* 
o mesmo efeito >do my $self = $_[0], aqui voc? poderia usar: >my $self = 
shift; >Eu particularmente acho muito mais elegante desse jeito com shift. 
>>open FABRICANTES," {SysObjID}; >while( ){ >>N?o ? uma boa pr?tica usar a 
vari?vel $_ desse jeito, dificulta o >entendimento do c?digo, olha s?: 
>while(my $fabri = ) { >>if ($_ =~ /^$objIDSplited[6]\s/){ >chomp(my @str = 
split /\t/, $_); >return ($str[1],$objIDSplited[6]) if wantarray; >return 
$str[1]; >last; >>Esse "last" n?o tem sentido, quando voc? faz o "return" 
ele j? termina. >>Olha esse jeito de fazer: >>wantarray ? return 
($str[1],$objIDSplited[6]) : return $str[1]; >>Pronto, voc? troca 3 linhas 
por uma :)>>Tem outros "detalhes". >>} >} >} >>2010/1/28 thiago User : >> 
Ok, Ok. Estou aprendendo a usar o git... coloquei uma vers?o do m?dulo >> 
Printer.pm que eu uso no sistema de impress?o que criamos na Petro - que >> 
ser? batizado de SNMPrinter. Ainda n?o esta completo, mas estou aberto >> 
aos coment?rios e criticas dos colegas mais experientes. >> >> >> 
git://gist.github.com/289308.git >> 
http://github.com/thiagoglauco/SNMPrinter >> >> >> 
_______________________________________________ >> SaoPaulo-pm mailing list 
>> SaoPaulo-pm em pm.org >> http://mail.pm.org/mailman/listinfo/saopaulo-pm>>-- 
>"If you?ve never written anything thoughtful, then you?ve never had >any 
difficult, important, or interesting thoughts. That?s the secret: >people 
who don?t write, are people who don?t 
think.">>------------------------------ >>Message: 6 >Date: Thu, 28 Jan 2010 
23:24:53 -0200 >From: Daniel de Oliveira Mantovani > >Subject: Re: [SP-pm] 
Printer.pm - aberto a coment?rios. >To: saopaulo-pm em mail.pm.org >Message-ID: 
> <214823ca1001281724s7f87969dld49b6d3573b50042 em mail.gmail.com> 
>Content-Type: text/plain; charset=windows-1252 >>Esqueci de 3 coisas, 
colocar uma , no open, te falar para ir no >pr?ximo ES! e te dar os 
parab?ns! >>[]'s :) >>2010/1/28 thiago User : >> Ok, Ok. Estou aprendendo a 
usar o git... coloquei uma vers?o do m?dulo >>Olha esse tutorial formid?vel 
do Akita: >http://akitaonrails.com/2008/4/3/micro-tutorial-de-git >>> 
Printer.pm que eu uso no sistema de impress?o que criamos na Petro - que >> 
ser? batizado de SNMPrinter. Ainda n?o esta completo, mas estou aberto >> 
aos coment?rios e criticas dos colegas mais experientes. >> >> >> 
git://gist.github.com/289308.git >> 
http://github.com/thiagoglauco/SNMPrinter >> >> >> 
_______________________________________________ >> SaoPaulo-pm mailing list 
>> SaoPaulo-pm em pm.org >> http://mail.pm.org/mailman/listinfo/saopaulo-pm>>-- 
>"If you?ve never written anything thoughtful, then you?ve never had >any 
difficult, important, or interesting thoughts. That?s the secret: >people 
who don?t write, are people who don?t 
think.">>------------------------------ >>Message: 7 >Date: Fri, 29 Jan 2010 
10:09:49 -0200 >From: Andre Carneiro >Subject: Re: [SP-pm] Printer.pm - 
aberto a coment?rios. >To: saopaulo-pm em mail.pm.org >Message-ID: > 
>Content-Type: text/plain; charset="windows-1252" >>2010/1/28 Daniel de 
Oliveira Mantovani >>> Bom, com certeza eu n?o sou experiente, tudo o que 
sei ? a minha pergunta. >> *Onde est?o os testes e a documenta??o?* >> >> A 
identa??o est? horr?vel, o seu tab est? consumindo oito "espa?os", >> ajuste 
seu editor de texto para consumir apenas quatro espa?os. >> >> 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 'for?ar' algu?m a escrever como >voc? escreve, 
s? porque voc? acha melhor. Ao inv?s disso concentre-se em >ajudar a 
resolver o problema.>>> Dei uma olhada r?pida, e me atentei a essa sub 
rotina: >> >> sub manufacturer{ >> my $self = $_[0]; >> >> Aqui voc? pode 
usar, my $self = shift, vai ter *quase* o mesmo efeito >> do my $self = 
$_[0], aqui voc? poderia usar: >> my $self = shift; >> Eu particularmente 
acho muito mais elegante desse jeito com shift. >> >> open FABRICANTES," >> 
Sempre quando voc? usar open, use com tr?s argumentos ? mais seguro, e >> 
n?o esque?a do *die/warn*. >> N?o use bareword, use uma vari?vel. >> Olha 
s?: >> open my $fabricante, q{<} 'enterprise.txt' or die $! >>>>Q frescura! 
porque n?o simplesmente: >my $file = 'enterprise.txt' >eval{open my 
$fabricante,'<', $file}; >if($!){ > print "\nProblemas ao abrir o arquivo 
'$file' - $!"; >}else { >#Alguma coisa util aqui... >>}>>> >> Outra coisa 
muit?ssima importante, sempre quando voc? abrir um arquivo >> feche-o, 
depois de utilizar(close $fabricante or die $!). >> >> >mantovani++>>> my 
@objIDSplited = split /\./,$self->{SysObjID}; >> while( ){ >> >> N?o ? uma 
boa pr?tica usar a vari?vel $_ desse jeito, dificulta o >> entendimento do 
c?digo, olha s?: >>>>? 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. 
>>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 
$_.>>> while(my $fabri = ) { >>if ($_ =~ /^$objIDSplited[6]\s/){ >> chomp(my 
@str = split /\t/, $_); >> return ($str[1],$objIDSplited[6]) if wantarray; 
>> return $str[1]; >> last; >> >> Esse "last" n?o tem sentido, quando voc? 
faz o "return" ele j? termina. >> >> Olha esse jeito de fazer: >> >> 
wantarray ? return ($str[1],$objIDSplited[6]) : return $str[1]; >> >> Tr?s 
linhas por uma, s? que bem mais complicado de entender. Nosso amigo >parece 
estar pouco familiarizado com esses 'atalhos', Mantovani. Embora voc? >tenha 
raz?o, ? interessante que ele primeiro entenda alguns conceitos antes >de 
ter que lidar com esse tipo de 'atalho'. Tente explicar melhor o que voc? 
>est? fazendo nesse trecho acima.>>> Pronto, voc? troca 3 linhas por uma :) 
>> >> >> Tem outros "detalhes". >> >> } >> } >> } >> >> 2010/1/28 thiago 
User : >> > Ok, Ok. Estou aprendendo a usar o git... coloquei uma vers?o do 
m?dulo >> > Printer.pm que eu uso no sistema de impress?o que criamos na 
Petro - que >> > ser? batizado de SNMPrinter. Ainda n?o esta completo, mas 
estou aberto >> > aos coment?rios e criticas dos colegas mais experientes. 
>> > >> > >> > git://gist.github.com/289308.git >> > 
http://github.com/thiagoglauco/SNMPrinter >> > >> > >> > 
_______________________________________________ >> > SaoPaulo-pm mailing 
list >> > SaoPaulo-pm em pm.org >> > 
http://mail.pm.org/mailman/listinfo/saopaulo-pm >> >> >> >> -- >> "If you?ve 
never written anything thoughtful, then you?ve never had >> any difficult, 
important, or interesting thoughts. That?s the secret: >> people who don?t 
write, are people who don?t think." >> 
_______________________________________________ >> SaoPaulo-pm mailing list 
>> SaoPaulo-pm em pm.org >> http://mail.pm.org/mailman/listinfo/saopaulo-pm 
>>>>-- >Andr? Garcia Carneiro >Analista/Desenvolvedor Perl >-------------- 
next part -------------- >An HTML attachment was scrubbed... 
>URL:>>------------------------------ 
>>_______________________________________________ >SaoPaulo-pm mailing list 
>SaoPaulo-pm em pm.org >http://mail.pm.org/mailman/listinfo/saopaulo-pm >>End 
of SaoPaulo-pm Digest, Vol 64, Issue 39 
>******************************************* >>----------Thiago Glauco 
SanchezITIL v2WebdesignerProgrammerwww.nerdsland.net 



More information about the SaoPaulo-pm mailing list