[SP-pm] Grep ou Map?

Solli Honorio shonorio at gmail.com
Fri Jul 2 05:07:56 PDT 2010


Marcelo,

Se eu posso recomendar uma coisa, eu recomendo que você evite utilizar
processo externos ao código (qx, system, exec) em programas sério e
complexos. Se você estiver utilizando para uma coisa eventual tudo bem, mas
evite se estiver utilizando para algo que está sendo utilizado em produção
no servidor. No teu caso em particular, existe várias técnicas para ler o
arquivo, como o slurp[1] por exemplo.

O problema de fazer do modo que você está fazendo inicia pela falta de
controle da operação (se o arquivo não existir ?), passa pelo blocking do
aplicativo nesta instrução até o sério potencial problema de segurança.

Se executar processo externo faz-se necessário, tem outras técnicas para
isto, mas eu recomendo fortemente só as utilizarem quando realmente
necessário.

Abraços,

Solli M. Honório


[1] http://www.perl.com/pub/a/2003/11/21/slurp.html

2010/7/2 Marcelo Gigliotti <marcelo.gigliotti em gmail.com>

> Srs do conselho :-),
>
> estou desenvolvendo um script pra fazer algumas validações nos meus
> servidores... casos particulares da app mesmo... e estou com a seguinte
> situação...
>
> em determinado momento... eu tenho o seguinte bloco
>
> my $conf_local = "server 192.168.10.3";
> my @conf_srv = qx(cat /etc/ntp.conf | grep -i ^server);
> este comando me retorna algumas linhas... como
>
> *****
> server 192.168.1.2
>
> ***********
>
> if ( grep (! /$conf_local/, em conf_srv) {
>        print "Nao encontrado";
> }
>
> O problema é que neste caso... a função grep sempre está retornando true,
> mesmo não havendo a linha pesquisada... fiz alguns testes e descobri que ele
> não está procurando a string server apenas e não a linha inteira como desejo
> server 192.168.10.3
>
> alguém poderia me dar uma dica? de como pesquisar a linha inteira mesmo com
> espaços... li alguma coisa com a função map... mas ainda não tive tempo de
> testar... alguém teria outra idéia melhor?
>
>
> Abs
> Marcelo Gigliotti
> Analista de Suporte
> Red Hat Certified Technician
> www.tabugado.com
> Msn: tchelllo em hotmail.com
> Linux User: #392364
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100702/053030ab/attachment.html>


More information about the SaoPaulo-pm mailing list