[Cascavel-pm] Script em Perl
André Garcia Carneiro
andre.garcia.carneir em terra.com.br
Terça Fevereiro 27 07:58:51 PST 2007
>
> Oi André, estou tentando aprimorar meus conhecimentos. Qualquer sujestão de
> site ou livro que você puder me passar, será uma boa ajuda. Quanto ao
> script, eu não quero criar um outro arquivo mas remover o site digitado como
> argumento para a variável $site da lista dl_geral. Recebi o script abaixo,
> no entanto ele remove todo o conteúdo do arquivo. Acho que seria o ">"...mas
> não estou entendendo a lógica de como retirar do arquivo apenas o conteúdo
> de $site.
Que ótimo! Bem... sobre livros sugiro os 'clássicos': Programming Perl e Learning Perl, e depois que você entre
nesse site: books.perl.org/onlinebooks/
Cheers!
> ----------------------------8<----------------------------
> #!/usr/bin/perl
>
> use warnings;
> use strict;
>
> my $arquivo = '/etc/squid/arquivos/liberados/dl_geral';
>
> open(LIBERADOS,$arquivo) or die "Nao pode abrir o arquivo $arquivo: $!";
> my @linhas = <LIBERADOS>;
> close (LIBERADOS);
> print "@linhas\n";
>
> # leitura
> print "Insira o site a ser removido: ";
> my $site = <STDIN>;
> chomp $site;
>
> # execução
> open(LIBERADOS,">",$arquivo) or die "Nao pode abrir o arquivo $arquivo: $!";
> foreach my $linha (@linhas){
> if ($linha eq $site){
> print "O site $site foi removido com sucesso\n";
> }
> else{
> print LIBERADOS "$linha\n";
> }
> }
> close(LIBERADOS) or die "Nao pode fechar o arquivo $arquivo: $!";
>
> else {
> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode abrir o arquivo
> $arquivo: $!" );
> print ( LIBERADOS "\n$site" );
> close ( LIBERADOS ) or die ( "Nao pode fechar o arquivo $arquivo: $!"
> );
> system("squid -k reconfigure");
> print " O site foi adicionado com sucesso.\n";
> }
> ---------------------------->8----------------------------
>
>
>
> Em (08:28:49), Cascavel Perl Mongers escreveu:
>
>
> >Oi Rafael
> >
> >> #!/usr/bin/perl
> >>
> >> use warnings;
> >> use strict;
> >>
> >>
> >> my $arquivo = '/etc/squid/arquivos/liberados/dl_geral';
> >> open ( LIBERADOS,$arquivo ) or die ( "Nao pode abrir o arquivo: $!" );
> >Precisa melhorar o seu tratamento de erros... quem sabe com um
> >eval(perldoc.perl.org/functions/) pra
> >começar...(quem tiver idéia melhor, por favor não deixe de postar).
> >
> >> my @linhas = ;
> >> close (LIBERADOS);
> >> print "@linhas\n";
> >> print "Insira o site a ser removido: ";
> >> my $site = ;
> >> chomp $site;
> >> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode abrir o arquivo: $!"
> );
> >
> >Quando você abre com '>>', significa que você adicionará coisas no
> >arquivo... Se você quiser abrir um novo
> >arquivo(se é que eu entendi o seu objetivo), você deve abrir com ">"(um
> >"sinal de maior" apenas). Desse modo
> >você perderá o conteúdo que estava lá(portanto cuidado, faça um backup se
> >for fazer isso).
> >
> >> my $linhas = "@linhas";
> >
> >Posso estar errado, mas não seria melhor ter um 'foreach' ou um 'map' por
> >aqui????
> >
> >> if ($linhas =~ $site) {
> >> #delete (LIBERADOS $site};
> >> s/$site/funcionou/gi;
> >> print "O site $site foi removido com sucesso\n";
> >> close ( LIBERADOS ) or die ( "Nao pode fechar o arquivo: $!" );
> >> }
> >>
> >> else {
> >> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode abrir o arquivo: $!"
> );
> >> print ( LIBERADOS "\n$site" );
> >> close ( LIBERADOS ) or die ( "Nao pode fechar o arquivo: $!" );
> >> system("squid -k reconfigure");
> >> print " O site foi adicionado com sucesso.\n";
> >> }
> >>
> >>
> >>
> >>
> >>
> >>
> >> Rafael Lebrao Martins.
> >> Cursando Ciências Contábeis.
> >> Universidade Estadual Do
> >> Sudoeste Da Bahia.
> >> Microsoft Certified
> >> Professional
> >> 70-271:Supporting Users and
> >> Troubleshooting a Microsoft®
> >> Windows® XP Operating System
> >> TEL - (77) 9989-6327
> >>
> >>
> >>
> >> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> >> Para alterar a categoria classificada, visite
> >>
>
>http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1172529719.159984.10939.alcala.hst.terra.com.br,5572,Des15,Des15
> >>
> >> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> >> Scan engine: McAfee VirusScan / Atualizado em 26/02/2007 / Versão:
> >5.1.00/4971
> >> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> >>
> >
> >--
> >André Garcia Carneiro
> >Developer(Perl/PHP)
> >Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
> >
> >_______________________________________________
> >Cascavel-pm mailing list
> >Cascavel-pm em pm.org
> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >----------
>
>
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1172582922.469532.30869.morondava.hst.terra.com.br,8132,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 26/02/2007 / Versão: 5.1.00/4971
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
Mais detalhes sobre a lista de discussão Cascavel-pm