Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » No me funciona el Buscador del tutorial... Responder al tema
Nuevo tema


Página 1 de 1  [ 8 mensajes ] 
 
Nota 2005-09-30 21:40 @945
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Lo que se me ocurre es que tengas una problema en la ruta y no encuentre ningún archivo. Intenta con palabras que sepa existen dentro del algún archivo e intenta de nuevo.


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-10-03 08:22 @390
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Se me ocurre la solución, cambia la parte que dice:

Código:
return unless($_ =~ /\.html/i);


por

Código:
return unless($_ =~ /\.htm(l)?/i);


Lo que suecede es que en la manera en la que está ahorita, solamente busca archivos .html, con este cambio va a buscar tanto archivos .html como los que son .htm.


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-10-03 12:18 @554
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Ya ví cual es el problema. Corregí el código, y así es como queda:

Código:
#!perl -w

use strict;
use File::Find;
use CGI qw(:standard);
my $query = param("query");


#VARS DE CONFIGURACIÓN

#LUGAR DONDE QUIERES BUSCAR. NO USES EL / FINAL
my $root_dir = '/home/user/public_html';

#URL DEL DIRECTORIO QUE VAS A BUSCAR. SIN EL / FINAL
my $url_dir = 'http://misitio.com';


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($_ =~ /\.htm(l)?/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;
                }

               my $int_dir = $File::Find::dir;
                  $int_dir =~ s/$root_dir//i;
               my $url = $url_dir . $int_dir . "/" . $_;

         print "<li><a href=\"$url\">$page_title</a></li>\n";
      }, $root_dir);

print "</ol>\n";

print end_html();


exit(1);



Lo que tienes que cambiar son las dos variables de configuración.

$root_dir - Aquí debes de poner la ruta al directorio que quieres buscar. Debes de checar que no pongas el / final.

$url_dir - El URL al directorio que vas a buscar. De igual manera no debes de poner el / final.



SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-10-03 12:43 @571
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
En base al problema expuesto aquí, he actualizado el tutorial con las correcciones necesarias:

http://perlenespanol.baboonsoftware.com ... 00138.html


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-11-27 20:48 @908
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Re: No BUSCA NADA :(
Juniors escribió:
amigos tengo un problema el buscador no busca nada no se que pasa pero lo hize todo y sale estos son la busdas y nada mas mi URL es http://www.ashton.yuukis.com ayudaneme ps lo necesito sy gracias por el Scripts


Intente probarlo pero parece que el CGI no existe, estás seguro es que la ruta correcta?

También checa que hayas hecho el upload del archivo como tipo ASCII y que los permisos estén en 755.


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-12-22 14:22 @640
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Re: ya pude pero...
Pepe escribió:
Hola:

Ya pude hacerlo funcionar, ahora tengo dos dudas:

1.- Cómo cambio el formato del texto, digamos que ponerle tamaño y fuente.

2.- Cómo hago para que los resultados los muestre en una ventana nueva o en algún otro frame


Para cambiar el formato todo lo que tienes que hacer es poner un CSS y en el puedes cambiar el estilo de los list items li, por ejemplo:

Código:
LI{
color:blue;
font-size:9pt;
}


Para lo otro busca la línea que dice:

Código:
print "<li><a href="$url">$page_title</a></li>\n";


Y cambiala por:

Código:
print "<li><a href="$url" target="_blank">$page_title</a></li>\n";



SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-12-22 18:12 @800
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
¿Quiéres que el CGI ejecute en una nueva página o qué los links abran en una nueva página?


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2005-12-28 06:00 @292
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
1.- Falta el tag '<form>'.
2.- Para que el resultado salga en otro frame, usa el atributo 'target' dentro del '<form>'.


Responder al tema  [ 8 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO