buscador en perl

manuales, tutoriales, programacion
programming tutorials, programming manuals
Manuales DE PERL Tutoriales de perl codigo fuente en perl recursos perl utilidades perl
perl
buscador en perl RegistrateNewsletter
Untitled Document
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Untitled Document
: ManualesPERL- ArticulosPERL- RecursosPERL- ForoPERL- Libros- Herramientas- CodigoPERL
Untitled Document
Programacion: Manuales - DiseñoWeb - Trucos - Software - CodigoFuente - Webmasters -
Untitled Document
Si Haces compras en internet.. si las estas pensando hacer...necesitas ver esto
Untitled Document
PerL

+ InicioPERL
+ ManualesPERL
+ ArticulosPERL
+ RecursosPERL
+ ForosPERL [N]
+ LibrosPERL
+ UtilidadesPERL
+ CodigoPERL

+Newsletter
+InscribeteGratis..

+Manuales
+Programacion
+DiseñoWeb
+Bases de Datos
+Manual.propios
+Cursos-Masters
+Manual de Diseño

+Trucos
+Ver secc.trucos

+Recursos
+ver recursos

+Noticias/RSS
+Ver noticias
+Ver canal RSS

+Codigo Fuente:
+Portada

+Comunidad
+Foros

+Webmasters
+ZonaWebmaster

+Software
+ir a secc. Soft

+AreasExclusivas
+Zona Flash
+Zona PHP
+Zona ASP
+Zona VB
+Zona ADSL
+Zona Photoshop
+Zona MAC

+Herramientas
+Herramientas
+Drivers

+Gana Dinero
+Como ganar

+SuperDiVX
+Area Divx

+Articulos
+Ver articulos
+Noticias

+Directorio [New]
+Ver directorio

+Blogs
+Nuestros blogs

+Noticias
+de Tecnologia

+SuperGames
+Juegos/ocio

+Canal Compras
+Canal Compras

manuales tutoriales cursos codigo en perl
Codigo fuente en PERL
Coleccion de manuales de PERL
Colabora mandanos manuales, apuntes, articulos para esta sección. colaborar
Codigo fuente en PERL

Autor Christian Gustavo Riva http://cgrsoftware.com

Programa un Buscador para tu Sitio Web
Un buscador de contenidos en un Sitio Web no solo es sinonimo de cierto prestigio o calidad en el desarrollo, sino que ademas es una excelente y utilisima opcion para los usuarios que lo visiten, particularmente si tienes muchas paginas.
El siguiente codigo te mostrara como puedes hacer tu mismo un Buscador en Perl, de manera muy simple y sin ningun enfasis en el diseño de la pagina de resultados.
La implementacion del buscador se encuentra dividida en 3 etapas:

1. El codigo en Perl, ubicado en la carpeta CGI-BIN (o similar) de tu sitio.
2. El mini formulario de busqueda dentro de tus paginas HTML
3. Los delimitadores de "bloques" dentro de cada una de las paginas HTML de tu Sitio que quieras que sean exploradas.

El mini formulario debera ser el siguiente:

<FORM ACTION="http://www.tu-dominio/cgi-bin/buscador.pl">
Palabras a buscar: <INPUT TYPE=TEXT NAME=topicos></FORM>

(lo unico importante de este formulario es nombrar "topicos" a la variable donde se deben ingresar las palabras a buscar, y la ubicacion correcta del script "buscador.pl" dentro de tu sitio).

Los delimitadores de bloques son solo dos TAGS HTML que deberas agregar en todas las paginas que quieras que sean dadas como resultados de las busquedas.
Estos dos TAGS (inicio y final del bloque) deberan estar al comienzo del texto que quieras que sea analizado, y al final del mismo.
Un ejemplo seria el siguiente:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Este texto no quiero que sea analizado por el buscador
por lo que sera omitido de la busqueda
<!$>
pero este texto SI quiero que sea analizado y aparezca en los resultados
si el usuario ingreso alguna palabra incluida en este bloque
<!\$>
Finalmente, este texto tampoco sera analizado ya que no se encuentra
encerrado entre los TAGS delimitadores
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

La posibilidad de delimitar por bloques determinados contenidos de cada una de las paginas te permitira omitir de los resultados de busqueda textos irrelevantes (menues, cabeceras, etc).

Recuerda que el codigo es para uso libre y su finalidad es introducirte en los conceptos que trata y animarte a que experimentes por tu cuenta.
Si publicas u ofreces a terceros una version modificada del mismo, no olvides mencionar al autor original como figura en su cabecera.

.
BUSCADOR.PL
###################################
# (C) 2001 Christian Gustavo Riva #
# http://www.cgrsoftware.com #
###################################
#!/usr/bin/perl

use strict;

## Utilizamos el modulo CGI para tomar el formulario Web:
use CGI;
my $cgi = new CGI;

## Capturamos las palabras a buscar:
my $topicos = $cgi->param('topicos');

## Direccion URL de nuestro Sitio Web:
## (no agregues un slash "/" al final!!)
my $host = 'http://www.cgrsoftware.com';

## Path local de nuestro Sitio Web:
## (agrega un slash "/" al final!!)
my $directorio = '/www/docs/cgrsoftware.com/public_html/';

my $coincidencias = 0;
my $titulo;

print "Content-type: text/html\n\n";

## Comenzamos a dar salida a los resultados:
print "Buscando por <B>$topicos</B>:<BR>";

## Abrimos (si podemos) el directorio a explorar:
unless( opendir(DIR, $directorio ) )
{ print "Error: $!"; exit; }

## Codigo HTML para mostrar resultados numerados:
print '<ol>';

## Tomamos uno por uno a los archivos del directorio:
while ($_=readdir(DIR))
{
## No vamos a analizar carpetas ni archivos que no
## tengan extension .HTM o .HTML:
next if -d $_ || $_ !~ /.htm/;

## Abrimos la pagina (si podemos):
if( open( PAGINA, "$directorio"."$_" ) )
{
## Cargamos toda la pagina en una matriz
## y cerramos el archivo:
my @pagina = <PAGINA>;
close( PAGINA );

## Convertimos la matriz @pagina en una
## variable sin saltos de linea:
## (requerido para analizarlas)
my $pagina = join (" ", @pagina);
$pagina =~ s/\n/ /g;

## Solo analizamos la pagina si encontramos
## los delimitadores <!$> ... <!/$>
if( $pagina =~ /<\!\$>(.*)<\!\/\$>/ )
{
## Copiamos en $bloque el texto contenido
## entre los delimitadores:
my $bloque = $1;

## ¿Se encuentran los topicos buscados en
## el bloque de la pagina?
if( $bloque =~ /$topicos/gi )
{
$coincidencias++;

## Tomamos el Titulo de la pagina, o en
## su defecto le asignamos un nombre general:
if ($pagina =~ /<title>(.*)<\/title>/i)
{ $titulo = $1; }
else { $titulo = "Pagina sin nombre"; }

## Damos salida al resultado en HTML con el
## Titulo y Direccion Web de la pagina:
print "<li><a href=\"$host/$_\">";
print "$titulo</a></li><BR>";
}
}
}
}

close (DIR);

print '</ol>';

print "<BR>Paginas encontradas: <B>$coincidencias</B>";

Untitled Document
links programacion
Registrate gratuitamente a nuestra NEWSLETTER y estate al tanto de todas las novedades
Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSLI pueblos 2.0 I
Areas exclusivas: tutoriales I cursos I ofertas I adsl I reproductores dvd I Formación Iwebtutoriales
Otros: SMSarea I tutoriales I DIVXarea I tutoriales I trucos de windows Igooglemania Iofertas I programatium.net I canal compras I
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

buscador en perl