Verificar endereço em arquivo..

Rafael Lebrão Martins rafamv1 em ig.com.br
Quinta Agosto 9 03:10:54 PDT 2007


Bom dia!! Preciso de uma ajuda... No código abaixo, a variável "$site" 
recebe os dados de um formulário html.. O conteúdo dessa variável é um 
endereço http, ele pode vir como ".perl.org.br" 
ou "[subdominio].perl.org.br".. O problema é o seguinte: 
Se eu tiver o endereço ".perl.org.br", não poderei adicionar qualquer coisa 
que contenha ".perl.org.br", como www.perl.org.br ou mail.perl.org.br. 
Preciso fazer com que o código faça isso!! 


#!/usr/bin/perl 
use warnings; 
use strict; 
use CGI qw ( :standard ); 
use constant SITEINEXIST => 
              'http://www.meudominio.com.br/siteinexist.htm'; 
use constant SITEEXIST => 
              'http://www.meudominio.com.br/siteexist.htm'; 
use constant SITELIBERADO => 
              'http://www.meudominio.com.br/siteliberado.htm'; 
	 
## Abre o arquivo e cria o Handle <LIBERADOS>; 
my $arquivo = '/etc/squid/arquivos/liberados/dl_geral'; 
open ( LIBERADOS,$arquivo ); 
my @linhas = <LIBERADOS>; 
#close (LIBERADOS); 

## Recebe o conteudo das variaveis $site e $www do formulario htm; 
my $site = param ( "site" ); 
chomp $site; 

my $linha = "@linhas"; 

## Se a variavel $site for igual a [.], redireciona pra codigo htm; 
if ($site eq /^[.]$/ ) { 
print redirect (SITEINEXIST); 
} 

elsif (grep( {/^$site$/}@linhas)) { 
print redirect (SITEEXIST); 
} 
 else { 
open ( LIBERADOS,"+>>$arquivo" ); 
print ( LIBERADOS "\n$site" ); 
close ( LIBERADOS ); 
system("squid -k reconfigure"); 
print redirect (SITELIBERADO); 
} 




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