• Publicidad

Separar componentes de una fecha

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

Separar componentes de una fecha

Notapor Adolfo_Xavi » 2010-01-13 16:39 @735

Hola, soy nuevo en Perl, y me surgió una duda: tengo un archivo de texto con varias fechas de la siguiente manera:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
29/11/2009
02/12/2009
06/12/2009
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Mi pregunta es, cómo puedo hacer que Perl cree 8 variables, una por cada número, es decir, si tengo 29/11/2009, cómo puedo hacer que Perl asigne algo así por cada fecha:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
$a = 2
$b = 9

$c = 1
$d = 1

$e = 2
$f = 0
$g = 0
$h = 9
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Gracias.
Adolfo_Xavi
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-01-08 22:52 @995

Publicidad

Re: Separar componentes de una fecha

Notapor explorer » 2010-01-13 16:49 @742

Bienvenido a los foros de Perl en Español, Adolfo_Xavi.

Esta es una posible solución:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5.  
  6. while (<DATA>) {
  7.     my ($a,$b,$c,$d,$e,$f,$g,$h) = /(.)(.).(.)(.).(.)(.)(.)(.)/;
  8.     print "$a,$b,$c,$d,$e,$f,$g,$h\n";
  9. }
  10. __DATA__
  11. 29/11/2009
  12. 02/12/2009
  13. 06/12/2009
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

De todas maneras, eso que quieres hacer es muy raro.
¿Para qué necesitas obtener los datos de las fechas de esa manera?
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: Separar componentes de una fecha

Notapor Adolfo_Xavi » 2010-01-13 19:03 @836

Muchas gracias, sí me ayudo ese código :D

Pues así una razón especifica no tengo, pero andaba viendo más temas en el foro y me encontré con un tema de Excel muy interesante. Instalé los módulos y pude tomar datos desde un archivo .xls pero no comprendí muy bien cómo funcionaban las fechas en Excel, ya que decía que Perl interpreta las fechas contando los días que han trascurrido desde 1900 o algo así, por lo que se me ocurrió hacer un archivo de texto con algunas fechas y después poder interpretarlas y así poder convertir esas fechas a variables.

Pero muchas gracias por la ayuda :mrgreen:
Adolfo_Xavi
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2010-01-08 22:52 @995

Re: Separar componentes de una fecha

Notapor explorer » 2010-01-13 19:18 @845

No exactamente... :)

Es Excel el que guarda las fechas con notación de días desde 1900. Pero no pasa nada porque los módulos Perl se encargan de pasarlas a fechas "en cristiano". Solo es un paso más, pero hay que hacerlo.

Una opción más cómoda es usar Spreadsheet::Read, como se comenta en el hilo Crear programa Perl que lea archivos Excel.
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


Volver a Básico

¿Quién está conectado?

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

cron