Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2005, 08:36
mvlsistemas
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
script para buscador?

Hola les cuento, me estoy rompiendo la cabeza buscando como hacer un buscador interno para una web que estoy terminando y encontré esto, pero realemnte no se como instalarlo.
Tengo el sitio alojado en linux, y les agradecería que me ayudaran y si sirve para ustedes biencvenido sea, ya que me he cansado de leer post con las mismas dudas que yo. y lo peor sin encontrar soluciones.

Este sería el formulario.

Código:
<form action="/cgi-bin/buscador.cgi" method="post">
<input type="text" name="query" size="50">
<input type="submit">
</form>
Ahora bien 1º, el tutorial dice que: "Nuestra primera línea como siempre es la ruta de nuestro perl. Si nos sabes cual es la ruta de tu perl, te recomiendo que contactes con tu administrador para que te diga cual es."

Que realmente debemos pedirle a nuestro proveedor?

2º "Después, necesitamos cargar los módulos y pragmas que vamos a usar. En este caso vamos a habilitar los "warnings" en perl y usar el pragma strict. De esta manera nos forzamos a crear código limpio y seguro. Y finalmente cargamos el módulo CGI. Entonces por el momento tenemos algo así:"

#!perl -w
use strict;
use CGI qw(:standard);

¿Donde hacemos esto?

y este sería el script final:

Código:
#!perl -w

use strict;
use File::Find;
use CGI qw(:standard);
my $query = param("query");
print header();
print start_html();
print "\n<p>Para la búsqueda $query, estos resultados se encontraron:</p>\n<ol>\n";

undef $/;

find( sub
{
return if($_ =~ /^\./);
return unless($_ =~ /\.html/i);
stat $File::Find::name;
return if -d;
return unless -r;

open(FILE, "< $File::Find::name") or return;
my $string = <FILE>;
close (FILE);

return unless ($string =~ /\Q$query\E/i);
my $page_title = $_;
if ($string =~ /<title>(.*?)<\/title>/is)
{
$page_title = $1;
}
print "<li><a href=\"$File::Find::name\">$page_title</a></li>\n";
},
'/home/username/public_html');

print "</ol>\n";
print end_html();
a esto lo guardamos como buscador.cgi? en un archivo sin etiquetas html?
y lo subo a que carpeta? a la public_html?

y las BD como deberían ser? si es que necesito base de datos claro.

en fin como veran el uso de dw trae estas malas costumbres, uno se acustumbra más a dibujar páginas que a programarlas.