[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