[Cascavel-pm] Script em Perl

Fernando Oliveira fernandocorrea em gmail.com
Terça Fevereiro 27 08:06:05 PST 2007


ao invez de "chomp ($site=<>);" use "chomp ($site=<STDIN>);"

fernando em FCORREA ~
$ cat sites.teste
www.google.com
www.uol.com.br
www.globo.com
www.lalala.org
www.kernel.org
www.perlmonks.org
www.pudim.com

fernando em FCORREA ~
$ arq3.pl
Insira o site a ser removido:
www.uol.com.br
site www.uol.com.br removido com sucesso

fernando em FCORREA ~
$ cat sites.teste
www.google.com
www.globo.com
www.lalala.org
www.kernel.org
www.perlmonks.org
www.pudim.com

fernando em FCORREA ~
$


Em 27/02/07, rafamv1<rafamv1 em ig.com.br> escreveu:
>
>  no meu continua removendo todo o conteúdo. Veja o meu script:
> --------------------------------------------------------------------
>
> #!/usr/bin/perl -i.bkp -p
>
> BEGIN{
>    $|=1;
>    push em ARGV, "/etc/squid/arquivos/liberados/dl_geral";
>    print{STDOUT}"Insira o site a ser removido: \n";
> chomp ($site=<>);
> }
> print {STDOUT}"site $& removido com sucesso\n", undef$_ if/^$site$/
> -------------------------------------------------------------------
> Em (12:03:19), Cascavel Perl Mongers escreveu:
>
>
> >Aqui não... aqui ele remove só a linha q cabe na expressão:
> >
> >fernando em FCORREA ~
> >$ cat sites.teste
> >www.google.com
> >www.uol.com.br
> >www.globo.com
> >www.lalala.org
> >www.kernel.org
> >www.perlmonks.org
> >www.pudim.com
> >
> >fernando em FCORREA ~
> >$ arq2.pl
> >Insira o site a ser removido: www.globo.com
> >site www.globo.com removido com sucesso
> >
> >fernando em FCORREA ~
> >$ cat sites.teste
> >www.google.com
> >www.uol.com.br
> >www.lalala.org
> >www.kernel.org
> >www.perlmonks.org
> >www.pudim.com
> >
> >fernando em FCORREA ~
> >$
> >
> >Em 27/02/07, rafamv1 escreveu:
> >>
> >> Continua removendo todo o conteúdo.
> >>
> >> Em (11:52:17), Cascavel Perl Mongers escreveu:
> >>
> >>
> >> >foi mau... na verdade ficaria assim:
> >> >
> >> >#!perl -i.bkp -p
> >> >BEGIN{$|=1;push
> >> >@ARGV,"/etc/squid/arquivos/liberados/dl_geral";print{STDOUT}"Insira o
> >> >site a ser removido: ";chomp($site= )}print{STDOUT}"site $&
> >> >removido com sucesso\n",undef$_ if/^$site$/
> >> >
> >> >Em 27/02/07, rafamv1 escreveu:
> >> >>
> >> >> O Script removeu todo o conteúdo do arquivo.
> >> >>
> >> >> Em (11:45:17), Cascavel Perl Mongers escreveu:
> >> >>
> >> >>
> >> >> >tá faltando o nome do arquivo...
> >> >> >
> >> >> >push @ARGV, "/etc/squid/arquivos/liberados/dl_geral";
> >> >> >
> >> >> >e aqui: $site=shift; vc tá escrevendo por cima da variavel...
> >> >> >ficaria assim:
> >> >> >
> >> >> >#!/usr/bin/perl -i.bkp -p
> >> >> >BEGIN{push @ARGV, "/etc/squid/arquivos/liberados/dl_geral";print
> >> >> >"Insira o site a ser removido:\n";chomp($site=<>);print{STDOUT}"site
> >> >> >$& removido com sucesso\n",undef$_ if/^$site$/
> >> >> >
> >> >> >Em 27/02/07, rafamv1 escreveu:
> >> >> >> Alterei o script mas não remove o site do arquivo.. Ficou assim:
> >> >> >> #!/usr/bin/perl -i.bkp -p
> >> >> >> BEGIN{push
> >> >> >> print "Insira o site a ser removido: \n"
> >> >> >> $site = ;
> >> >> >> chomp $site;
> >> >> >>
> >> >>
> >>
> >>>@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$site=shift}print{STDOUT}"site
> >> >> >> $& removido com sucesso\n",undef$_ if/^$site$/
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> Em (11:31:37), Cascavel Perl Mongers escreveu:
> >> >> >>
> >> >> >>
> >> >> >> >vc tem q passar o site como parametro... por exemplo:
> >> >> >> >
> >> >> >> >./remove_site.pl URL
> >> >> >> >
> >> >> >> >Em 27/02/07, rafamv1 escreveu:
> >> >> >> >>
> >> >> >> >> criei o script abaixo, ele executa mas não altera em nada o
> >arquivo
> >> >e
> >> >> >nem
> >> >> >> >> me pede o site para remoção.
> >> >> >> >>
> >> >> >> >> Em (11:21:27), Cascavel Perl Mongers escreveu:
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> >#!/usr/bin/perl -i.bkp -p
> >> >> >> >> >BEGIN{push
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> >>>>>@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$site=shift}print{STDOUT}"site
> >> >> >> >> >$& removido com sucesso\n",undef$_ if/^$site$/
> >> >> >> >> >
> >> >> >> >> >Em 27/02/07, rafamv1 escreveu:
> >> >> >> >> >> Cara, não consegui colocar seu script para funcionar. Tentei
> >> >criar
> >> >> >um
> >> >> >> >> >> arquivo .pl com o conteúdo, mas não funcionou.
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> Em (10:45:25), Cascavel Perl Mongers escreveu:
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> >pode...
> >> >> >> >> >> >
> >> >> >> >> >> >Em 27/02/07, rafamv1 escreveu:
> >> >> >> >> >> >> Mas eu posso colocar esse script que você mandou em um
> >> arquivo
> >> >> >.pl
> >> >> >> ?
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> Em (10:31:14), Cascavel Perl Mongers escreveu:
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> >E pq vc não usa algo parecido com o script q eu mandei?!
> >ele
> >> >> faz
> >> >> >> >> >> >> >exatamente isso q vc falou...
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >repetindo:
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >perl -i.bkp -pe 'BEGIN{push
> >> >> >> >> >> >> >@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$s
> >> >> >> >> >> >> >ite=shift}print{STDOUT}"site $& removido com
> >> >sucesso\n",undef$_
> >> >> >> >> >> >> >if/^$site$/' SITE
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >Em 27/02/07, rafamv1 escreveu:
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> 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.
> >> >> >> >> >> >> >>
> >----------------------------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 = ;
> >> >> >> >> >> >> >> close (LIBERADOS);
> >> >> >> >> >> >> >> print "@linhas\n";
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> # leitura
> >> >> >> >> >> >> >> print "Insira o site a ser removido: ";
> >> >> >> >> >> >> >> my $site = ;
> >> >> >> >> >> >> >> 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(r)
> >> >> >> >> >> >> >> >> Windows(r) 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
> >> >> >> >> >> >> >> >
> >> >> >> >> >> >> >> >----------
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >> _______________________________________________
> >> >> >> >> >> >> >> Cascavel-pm mailing list
> >> >> >> >> >> >> >> Cascavel-pm em pm.org
> >> >> >> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >> >> >>
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >--
> >> >> >> >> >> >> >[]'s Fernando
> >> >> >> >> >> >> >_______________________________________________
> >> >> >> >> >> >> >Cascavel-pm mailing list
> >> >> >> >> >> >> >Cascavel-pm em pm.org
> >> >> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >> >> >
> >> >> >> >> >> >> >----------
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >> _______________________________________________
> >> >> >> >> >> >> Cascavel-pm mailing list
> >> >> >> >> >> >> Cascavel-pm em pm.org
> >> >> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >> >>
> >> >> >> >> >> >
> >> >> >> >> >> >--
> >> >> >> >> >> >[]'s Fernando
> >> >> >> >> >> >_______________________________________________
> >> >> >> >> >> >Cascavel-pm mailing list
> >> >> >> >> >> >Cascavel-pm em pm.org
> >> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >> >
> >> >> >> >> >> >----------
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> _______________________________________________
> >> >> >> >> >> Cascavel-pm mailing list
> >> >> >> >> >> Cascavel-pm em pm.org
> >> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >>
> >> >> >> >> >
> >> >> >> >> >--
> >> >> >> >> >[]'s Fernando
> >> >> >> >> >_______________________________________________
> >> >> >> >> >Cascavel-pm mailing list
> >> >> >> >> >Cascavel-pm em pm.org
> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >> >
> >> >> >> >> >----------
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> _______________________________________________
> >> >> >> >> Cascavel-pm mailing list
> >> >> >> >> Cascavel-pm em pm.org
> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >>
> >> >> >> >
> >> >> >> >--
> >> >> >> >[]'s Fernando
> >> >> >> >_______________________________________________
> >> >> >> >Cascavel-pm mailing list
> >> >> >> >Cascavel-pm em pm.org
> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >> >
> >> >> >> >----------
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> _______________________________________________
> >> >> >> Cascavel-pm mailing list
> >> >> >> Cascavel-pm em pm.org
> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >>
> >> >> >
> >> >> >--
> >> >> >[]'s Fernando
> >> >> >_______________________________________________
> >> >> >Cascavel-pm mailing list
> >> >> >Cascavel-pm em pm.org
> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >> >
> >> >> >----------
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> Cascavel-pm mailing list
> >> >> Cascavel-pm em pm.org
> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >>
> >> >
> >> >--
> >> >[]'s Fernando
> >> >_______________________________________________
> >> >Cascavel-pm mailing list
> >> >Cascavel-pm em pm.org
> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >> >
> >> >----------
> >>
> >>
> >>
> >> _______________________________________________
> >> Cascavel-pm mailing list
> >> Cascavel-pm em pm.org
> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >>
> >
> >--
> >[]'s Fernando
> >_______________________________________________
> >Cascavel-pm mailing list
> >Cascavel-pm em pm.org
> >http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >----------
>
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


-- 
[]'s Fernando


Mais detalhes sobre a lista de discussão Cascavel-pm