[Cascavel-pm] Procurar texto em arquivo.

lgonzaga em lncc.br lgonzaga em lncc.br
Sexta Junho 15 08:06:55 PDT 2007



Rafael, você já deve ter lidos os outros emails, em
particular o do Nelson, sobre como fazer perguntas em uma lista. Como
ainda não está claro para min o que você realmente
deseja, vou fazer alguns comentários sobre o seu código.
Ok?

Espero que assim possa estar lhe ajudando.

Luiz.

> Segue o script:
>
--------------------------------------------------------------------
> #!/usr/bin/perl
> use warnings;
> use strict;
> use CGI qw ( :standard );
> 
> my $arquivo =
'/etc/squid/arquivos/liberados/dl_geral';
> open (
LIBERADOS,$arquivo );
> my @linhas = <LIBERADOS>;
>
close (LIBERADOS);

Nas quatro linhas anteriors, você abre
e carrega o conteúdo de um arquivo no array @linhas. Pergunta: O
que você quer fazer com o  conteúdo  deste
array?

> my $site = param ( "site" );
> my
$www = param ( "www" );
> 
> open (LIBERADOS,
"$arquivo");
> my $linhas = "@linhas";
> if ($site eq /^[.]$/ ) {
> print redirect
("http://meuservidor.no-ip.info/arquivos/siteinexist.htm");
> close (LIBERADOS);
> exit;
> }

Nas
linhas acima você abre novamente o arquivo e posteriormente o fecha.
Não fez nada com o filehandle LIBERADOS. O que você pretendia
com isto ?
Você também atribuiu o conteúdo do
array @linhas a string $linhas. Para que ?
O que você queria
testar com a regex /^[.]$/ ?

> open (LIBERADOS,
"$arquivo" );
> if ($linhas =~ /^(?:.)(.{2})+.$site/)
{
> print redirect
("http://meuservidor.no-ip.info/arquivos/siteexist.htm");
> close ( LIBERADOS );
> exit;
> }

Você novamente abre e fecha o arquivo e não faz nada o
filehandle LIBERADOS!
E usa o conteúdo de $linhas, que
você atribui lá em cima.

Mande um exemplo do real
conteúdo do "dl_geral". Aí podemos avaliar melhor
se a regex se aplica ou não ao caso.

Termino aqui os
comentários, ressaltando que muito mais pode ser comentado sobre
este código. Mas não vou me estender muito.

>
open (LIBERADOS, "$arquivo" );
> if ($linhas =~
m/^(\d{3}))+(?:.)+$site/) {
> print redirect
("http://meuservidor.no-ip.info/arquivos/siteexist.htm");
> close ( LIBERADOS );
> exit;
> }else {
>
open ( LIBERADOS,"+>>$arquivo" );
> print (
LIBERADOS "\n$www$site" );
> close ( LIBERADOS );
> system("squid -k reconfigure");
> print
redirect
>
("http://meuservidor.no-ip.info/arquivos/siteliberado.htm");
> }
>
--------------------------------------------------------------------
> 
> 
>
_______________________________________________
> Cascavel-pm
mailing list
> Cascavel-pm em pm.org
>
http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070615/91e55522/attachment.html 


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