Aprovecho este post para mostrar también como se podría ejecutar un código dentro de una expresion regular.
#!/usr/bin/perl
sub nonAMPM {
my $hour = $2;
if ($4 eq "PM") {
$hour = $hour+12;
}
return "$1 $hour:$3 $4";
}
$a= "11/18/2011 7:29:14 PM";
print "$a, ";
$a =~ s/(.*) (.*):(.*:.*) (..)/&nonAMPM/e;
print "$a\n";
Saludos
Gracias! No sabía que se podían poner rutinas en una regexp. Parece muy útil.
ResponderBorrarSaludos
Me alegro que te haya servido, fue un problema que tuve que resolver y no encontré algo sencillo y fácil en internet, por eso lo escribí. Si tienen algún problema puntual, pueden postearlo y lo vemos.
ResponderBorrarAh es buena esa, ademas mantenés las variables de posiciones de regex dentro de la sub. Muy bueno che.
ResponderBorrar