[SP-pm] Carregar arquivo com variaveis

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Fri Feb 18 08:55:17 PST 2011


Isso é recente, http://taint.org/2011/02/18/001527a.html

2011/2/18 Solli Honorio <shonorio em gmail.com>:
> Marcelo,
>
> Opções existem aos montes, mas a minha recomendação é KISS Ever !!! Se o que
> você tem são scripts de linha de comando, eu recomendo fortemente o
> Getopt::Long (que é core no Perl). Um bom exemplo que utilização deste cara
> seria assim :
>
> <code>
> #!/usr/bin/env perl
> use Getopt::Long;
> use strict;
>
> my $VERSION  = '0.03';
> my %ERRORS   = ( 'OK' => 0, 'WARNING'=> 1, 'CRITICAL'=> 2, 'UNKNOWN'=>3,
> 'DEPENDENT'=>4 );
> my %CONFIG;
>
> Getopt::Long::Configure('bundling');
> GetOptions (
>     "v|version"    => sub { show_version() } ,
>     "h|help"       => sub { show_help() }    ,
>     "H|host=s"     => \$CONFIG{'hostname'}   ,
>     "w|warning=s"  => \$CONFIG{'warning'}    ,
>     "c|critical=s" => \$CONFIG{'critical'}   ,
>     "d|disk=s"     => \$CONFIG{'disk'}       ,
>   );
>
> </code>
>
> Como você pode ver, já recebo os parâmetros e armazeno num hash. E este cara
> pode fazer muitas outras coisas, como armazenar várias opnções para o mesmo
> parâmetros, tipo : '--dir /etc  --dir /home/mane --dir /var/log' e no
> programa podemos ter isto assim : ' "dir=s" => \@{$CONFIG{'dir'}'.
>
> Desta maneira o teu script não precisa ter preocupações relativas a
> manipulação de arquivos externo a ele.
>
> Seguindo a linha KISS, eviter os arquivos de configurações em formatos JSON,
> XML, YAML a menos que o teu programa vá utilizar estes formatos em outra
> coisa. Pois os módulos Config* para estes formatos carregam outras
> dependências apenas para estes caras, e não vale a penas colocar mais código
> dependência se você não for utilizar para outra coisa.
>
> Abraços,
>
> Solli M. Honorio
>
>
> Em 17 de fevereiro de 2011 23:06, Marcelo Gigliotti
> <marcelo.gigliotti em gmail.com> escreveu:
>>
>> Seria algo bem simples... eu costumo desenvolver diversos scripts pra
>> automação de servidores onde trabalho e eu notei que pra cada, eu
>> costumo declarar as mesmas variaveis, tais como, diretório de logs,
>> ips de rede, usuários, senhas, etc... e penso que seria muito mais
>> fácil se eu criasse um arquivo estatico com estas informações do que
>> ficar declarando as mesmas diversas vezes.
>>
>> eu achei um módulo que atende perfeitamente as minhas necessidades,
>> mas eu gostaria de tentar algo sem precisar de bibliotecas
>> adicionais...
>>
>> http://search.cpan.org/~sherzodr/Config-Simple-4.59/Simple.pm
>>
>>
>> Atenciosamente
>> Marcelo Gigliotti
>> Analista de Suporte
>> Red Hat Certified Technician
>> www.tabugado.com
>> Msn: tchelllo em hotmail.com
>> Linux User: #392364
>>
>>
>>
>> 2011/2/17 Daniel de Oliveira Mantovani
>> <daniel.oliveira.mantovani em gmail.com>:
>> > Depende muito do problema. Um arquivo de configuração resolve vários
>> > problemas, normalmente ajuda a definir dados estatíscos que servirão
>> > de parâmetro para uma seqüência.
>> > Existe o Config::Any[0] que carrega configuração de diferentes
>> > formatos de arquivo, o interlocutor poderá se aventurar lendo a
>> > documentação.
>> >
>> > Um arquivo de configuração é só uma mídia, você não precisa abstrair
>> > isso necessariamente num formato como XML e JSON.
>> > Para um diagnostico, precisa-se do conhecimento do ser[1], e isso só é
>> > possível quando o apresenta. Por isso eu peço que nos fale mais sobre
>> > o seu problema.
>> >
>> > [0]http://search.cpan.org/~bricas/Config-Any-0.20/lib/Config/Any.pm
>> > [1]http://pt.wikipedia.org/wiki/Diagn%C3%B3stico
>> >
>> > 2011/2/17 Tiago Peczenyj <tiago.peczenyj em gmail.com>:
>> >> Pessoalmente eu gosto de carregar um hash ou hashref chamado conf ou
>> >> algo do tipo e, então, acessar as informações a partir dessa variavel.
>> >>
>> >> 2011/2/17 Marcelo Gigliotti <marcelo.gigliotti em gmail.com>:
>> >>> Srs,
>> >>>
>> >>>
>> >>> andei pesquisando sobre carregar arquivo com variaveis com o objetivo
>> >>> de ganhar tempo em diversos scripts que venho desenvolvendo e também
>> >>> com o objetivo de centralizar todas as minhas informações estaticas.
>> >>> Encontrei uma lib (Config::Inifiles), mas gostaria de saber a opinião
>> >>> de vocês sobre outros metodos ou se esta é a melhor opção.
>> >>>
>> >>>
>> >>> Atenciosamente
>> >>> Marcelo Gigliotti
>> >>> Analista de Suporte
>> >>> Red Hat Certified Technician
>> >>> www.tabugado.com
>> >>> Msn: tchelllo em hotmail.com
>> >>> Linux User: #392364
>> >>> =begin disclaimer
>> >>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >>> =end disclaimer
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Tiago B. Peczenyj
>> >> Linux User #405772
>> >>
>> >> http://pacman.blog.br
>> >> =begin disclaimer
>> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> >> =end disclaimer
>> >>
>> >
>> >
>> >
>> > --
>> > "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."
>> > =begin disclaimer
>> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> >  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> > =end disclaimer
>> >
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>



-- 
"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."


More information about the SaoPaulo-pm mailing list