• Publicidad

Consulta sobre HTML::TableExtract

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

Re: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-13 13:01 @584

Gracias, explorer.

Me encuentro con esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. bash-3.2$ perl  -E 'use utf8::all; $x = "mín: 60"; $x =~ s/^mín: //; say "[$x]";'
  2. Unrecognized switch: -E  (-h will show valid options).
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


¿Qué puedo hacer ahora para eliminar 'mín:' pero sin eliminar el apartado de nieve, en este caso "dura"?
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Publicidad

Re: Consulta sobre HTML::TableExtract

Notapor explorer » 2013-12-13 13:14 @593

¡Pufff!

Si te sale ese error es que tienes un Perl muy viejo... La opción '-E' es válida a partir de Perl v5.10, allá por finales de 2007 :)

Cámbialo por '-e', pero te recomiendo que actualices a un Perl más moderno. No solo tendrás muchos errores corregidos, irá más rápido, tendrás nuevas 'features' (como say()) y, sobre todo, mucha mejor compatibilidad con utf-8.

En cuanto a lo de nieve dura, no sé decirte, porque no he visto cómo son los datos iniciales.
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: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-13 13:48 @616

¿En el momento que se ejecute en mi ordenador

bash-3.2$ perl -E 'use utf8::all; $x = "mín: 60"; $x =~ s/^mín: //; say "[$x]";'

querrá decir entonces dentro del script ya se eliminará "mín: "?

Gracias, explorer.
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Re: Consulta sobre HTML::TableExtract

Notapor explorer » 2013-12-13 17:41 @778

Sí, claro, pero antes cambia '-E' por '-e', y nos cuentas.
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: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-14 08:21 @390

Hola, explorer.

Para actualizar la versión de Perl, ¿cómo lo hago? ¿A partir del cpan?

En esta máquina está la versión 5.8.8 y está en un CentOS release 5.8.

Gracias.
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Re: Consulta sobre HTML::TableExtract

Notapor explorer » 2013-12-14 10:56 @497

No conozco mucho CentOS, pero lo normal sería, siendo root del sistema, intentar un yum install perl o yum install perl-base (hablo de memoria, busca información sobre los paquetes Perl en CentOS/Red Hat).

Si no te deja actualizar a una versión más moderna, es que tienes un sistema operativo ya algo viejo (bueno, no es tan viejo... es del 7 de marzo del 2012 :) ) Así que otra opción es instalar un sistema más moderno, pero esto no deja de ser un problema aún mayor. El Perl que tienes sí que es viejo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. explorer@joaquinferrero:~> perldoc -T perlhist|fgrep 5.8.8
  2.                  5.8.8-RC1     2006-Ene-20
  3.                  5.8.8         2006-Ene-31
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Otra solución es la usar perlbrew. Con esta herramienta puedes luego instalar (de forma local, en el directorio del usuario) la versión de Perl que quieras. Necesitaras que esté instalado en el sistema el compilador gcc y algunas bibliotecas del sistema. En la página de manual de perlbrew. Básicamente hay que hacer un 'init'; luego un 'available' para ver la lista de Perl disponibles, y luego un 'install <version>'. Por ejemplo, perlbrew install 5.18.1. Cuando termine de instalarse, haces un 'use' y ya tendrás el nuevo Perl. Eso sí, es local, así que, en principio, no tienes acceso a los módulos instalados en el sistema (porque están compilados para la versión de Perl del sistema).
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: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-14 15:00 @666

Gracias, explorer, actualizaré la versión de Perl.

Aprovecho para consultar otra duda. En el siguiente bucle con if() y else(), $estado tomara el valor 'abierto' si todos los estados (1,2,3,4) tienen el valor que se define, y funciona.

Aquí viene mi pregunta: si lo quiero consultar es: si el estado1 es igual a "ABIERTO" o "ABIERTO ", y el estado2 es igual a "ABIERTO" o "ABIERTO ", y el estado3 es igual a "ABIERTO" o "ABIERTO " y el estado4 es igual a "ABIERTO" o "ABIERTO ", ¿cómo se escribe?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if (($estado1 eq "ABIERTO") && ($estado2 eq "ABIERTO ") && ($estado3 eq "ABIERTO ")&& ($estado4 eq "ABIERTO")) {
  2.         my $estado='abierto';
  3.         print "$estado";
  4. }else {
  5.         my $estado='cerrado';
  6.         print "$estado";
  7. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Gracias
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Re: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-14 15:13 @675

Ya está solucionado.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ((($estado1 eq "ABIERTO")||($estado1 eq "ABIERTO ")) && (($estado2 eq "ABIERTO ")||($estado2 eq "ABIERTO"))&& (($estado3 eq "ABIERTO ")||($estado3 eq "ABIERTO")) && (($estado4 eq "ABIERTO ")||($estado4 eq "ABIERTO"))) {
  2.         my $estado='abierto';
  3.         print "$estado";
  4. }else {
  5.  
  6.         my $estado='cerrado';
  7.         print "$estado";
  8. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Re: Consulta sobre HTML::TableExtract

Notapor explorer » 2013-12-14 16:29 @728

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $estado =
  2.     (    $estado1 =~ /^ABIERTO ?$/
  3.     and  $estado2 =~ /^ABIERTO ?$/
  4.     and  $estado3 =~ /^ABIERTO ?$/
  5.     and  $estado4 =~ /^ABIERTO ?$/
  6.     )
  7.     ? 'abierto'
  8.     : 'cerrado'
  9.     ;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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: Consulta sobre HTML::TableExtract

Notapor enric73 » 2013-12-16 17:17 @762

Gracias, explorer. Aprovecho para hacer mi última consulta.

Quiero bajar datos de la web:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $html = get("http://atudem.org/?option=com_partenieve&task=view&fecha=16-12-2013#parte");  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Cada día cambia la fecha. Para automatizarla, en el caso de hoy, 16-12-2013; mañana, 17-12-2013.

He utilizado:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use POSIX qw(strftime);
  2. my $fecha = print strftime "%d-%m-%Y\n", localtime;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

pero al pasarlo en
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $html = get("http://atudem.org/?option=com_partenieve&task=view&fecha="$fecha"#parte");  
  2.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

me da un error, ¿en qué falló?

Gracias.
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

AnteriorSiguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron