• Publicidad

Errores en el código

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Errores en el código

Notapor ccorrales001 » 2010-02-09 08:10 @382

Hola muy buenas, tengo una duda con el siguiente código, más bien con los errores que me salen. El código lo que hace es que a través de una búsqueda de un usuario, me imprime las 10 primeras URL de esa búsqueda en un fichero. Con el Mechanize guardo el título de cada URL y después las paso a texto plano, para posteriormente hacer resúmenes. Parte del código que me genera problemas es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. sub busqueda_parrafo_mas_castellano{
  2.  
  3.  use Yahoo::Search;
  4.  my $pal;
  5.  $pal=$_[0];
  6.  chomp($pal);
  7.  my $lang_es="es";
  8.  my @Results = Yahoo::Search->Results(Doc => "$pal",
  9.                                       AppId => "XXXXXXXXXXXXXXXXX",
  10.                                       # The following args are optional.
  11.                                       # (Values shown are package defaults).
  12.                                       Mode         => 'all', # all words
  13.                                       Start        => 0,
  14.                                       Count        => 10,
  15.                                       Type         => 'html', # only html documents
  16.                                       AllowAdult   => 0, # no porn, please
  17.                                       AllowSimilar => 0, # no dups, please
  18.                                       Language     => $lang_es,
  19.                                      );
  20.  warn $@ if $@; # report any errors
  21.  open(IRT, ">urls");
  22.  for my $Result (@Results){
  23.       printf (IRT "%s\n",$Result->Url);
  24.   }
  25.  close(IRT);
  26.  my @palabra_titulo= &mechanize($pal);
  27.  &sacar_parrafo_castellano($pal, /@palabra_titulo);
  28. }
  29.  
  30. sub mechanize{
  31.  
  32.  my $mech = WWW::Mechanize->new();
  33.  my $url;
  34.  my $pal=$_[0];
  35.  my $dirnombre;
  36.  $dirnombre = "/home/XXXX/Escritorio/YYYYY/ZZZZZ/$pal";
  37.  open(SAR1, "urls");
  38.  mkdir $dirnombre, 0755;
  39.  chdir $dirnombre, 0755;
  40.  my $cont=0;
  41.  my $url;
  42.  my $filename;
  43.  while ($url=<SAR>){
  44.    chomp($url);
  45.    if($url=~/wiki/){
  46.         my $pos=1;
  47.    }else{
  48.         my $mech->get("$url");
  49.         my @palabras_titulo;
  50.         my $title=$mech->title();
  51.         push(@palabras_titulo, $title);
  52.         close(SAR1);
  53.         system("lynx -dump '$url' > $filename");
  54.         my $depurada=&depurar($filename);
  55.         open(IRT1, ">depurado$cont");
  56.         print(IRT1, "$depurada");
  57.         close(IRT1);
  58.         $cont++;
  59.    }
  60.  }
  61.  close(SAR);
  62.  return(@palabras_titulo);
  63. }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4



El problema que tengo es que me salen estos errores, y no se por qué, ya que creo que el código está bien.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Bareword found where operator expected at idioma.pl line 598, near "$dirnombre = "/home"
  (Might be a runaway multi-line // string starting on line 589)
        (Missing operator before home?)
String found where operator expected at idioma.pl line 599, near "open(SAR1, ""
  (Might be a runaway multi-line "" string starting on line 598)
        (Missing semicolon on previous line?)
Bareword found where operator expected at idioma.pl line 599, near "open(SAR1, "urls"
String found where operator expected at idioma.pl line 610, near "my $mech->get(""
  (Might be a runaway multi-line "" string starting on line 599)
        (Missing semicolon on previous line?)
String found where operator expected at idioma.pl line 615, near "system(""
  (Might be a runaway multi-line "" string starting on line 610)
        (Missing semicolon on previous line?)
dump() better written as CORE::dump() at idioma.pl line 615.
String found where operator expected at idioma.pl line 617, near "open(IRT1, ""
  (Might be a runaway multi-line "" string starting on line 615)
        (Missing semicolon on previous line?)
String found where operator expected at idioma.pl line 618, near "print(IRT1, ""
  (Might be a runaway multi-line "" string starting on line 617)
        (Missing semicolon on previous line?)
Scalar found where operator expected at idioma.pl line 618, near "print(IRT1, "$depurada"
String found where operator expected at idioma.pl line 631, near "open(SAR1, ""
  (Might be a runaway multi-line "" string starting on line 618)
        (Missing semicolon on previous line?)
String found where operator expected at idioma.pl line 635, near "}#elsif($linea==""
  (Might be a runaway multi-line "" string starting on line 631)
Global symbol "$mech" requires explicit package name at idioma.pl line 589.
Global symbol "$url" requires explicit package name at idioma.pl line 589.
Global symbol "$dirnombre" requires explicit package name at idioma.pl line 589.
Global symbol "$dirnombre" requires explicit package name at idioma.pl line 589.
syntax error at idioma.pl line 598, near "$dirnombre = "/home"
Global symbol "$url" requires explicit package name at idioma.pl line 610.
Global symbol "$filename" requires explicit package name at idioma.pl line 615.
Global symbol "$cont" requires explicit package name at idioma.pl line 617.
Global symbol "$depurada" requires explicit package name at idioma.pl line 618.
Global symbol "$fichero" requires explicit package name at idioma.pl line 631.
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



¿Alguien me puede ayudar? Gracias de antemano.
Última edición por explorer el 2010-02-09 08:24 @391, editado 2 veces en total
Razón: Ortografía. bloques de texto
ccorrales001
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2009-01-29 12:01 @543

Publicidad

Re: Duda con este código

Notapor explorer » 2010-02-09 08:15 @386

En la línea 27, en vez de '/', quizás sea '\', para obtener la referencia al arreglo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Errores en el código

Notapor ccorrales001 » 2010-02-09 09:35 @441

Muchas gracias, vaya descuido
Saludos
ccorrales001
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2009-01-29 12:01 @543


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 40 invitados