[Cascavel-pm] Script em Perl
rafamv1
rafamv1 em ig.com.br
Terça Fevereiro 27 05:41:59 PST 2007
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
>
>----------
Mais detalhes sobre a lista de discussão Cascavel-pm