Perl - Perl

 
Vista:

Perl

Publicado por Alvaro (2 intervenciones) el 11/12/2002 23:54:57
Estoy leyendo y extrayendo datos de un archivo y
en una linea esta asi: :22.56m:555.56s:56.12m:45.23s......
para la cual tengo que multiplicar por 60, cada una de las cifras que estan con "m" para dejar todo en segundos
por fa si alguien me ayuda es urgente graciassssss....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Perl

Publicado por Cristian (11 intervenciones) el 12/12/2002 14:30:38
$line = "22.56m:555.56s:56.12m:45.23s";
$line =~/\d{2}\.(\d{2})m\:\d{3}\.\d{2}s\:\d{2}\.(\d{2})m\:\d{2}\.\d{2}s/g;
print "22.56m:555.56s:56.12m:45.23s\n";
$cifra1 = $1;
$cifra2 = $2;
$multi = $cifra1 * 60 ;
$multi2 = $cifra2 * 60 ;
print "CIFRA1: -->$cifra1<--->CIFRA2: -->$cifra2<--\n";
print "CIFRA1: -->$multi<--->CIFRA2: -->$multi2<--\n";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Perl

Publicado por Alvaro (2 intervenciones) el 12/12/2002 16:01:14

ok, pero si tengo cifras de "n" cantidades de numeros que deberia poner en " /\d{2}\ " ,por que asi solo es para dos digitos

Muchas gracias Cristian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Perl

Publicado por cristian (3 intervenciones) el 18/12/2002 18:07:28
$line = "22.555555555555m:555.56s:56.66666666666m:45.23s";
$line =~/\d{2}\.(\d+)m\:\d{3}\.\d{2}s\:\d{2}\.(\d+)m\:\d{2}\.\d{2}s/g;
print "22.5659595959m:555.56s:56.1244044404m:45.23s\n";
$cifra1 = $1;
$cifra2 = $2;
$multi = $cifra1 * 60 ;
$multi2 = $cifra2 * 60 ;
print "CIFRA1: -->$cifra1<--->CIFRA2: -->$cifra2<--\n";
print "CIFRA1: -->$multi<--->CIFRA2: -->$multi2<--\n";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar