in reply to Candle Time

Just compressing your code a bit:

use strict; use warnings; use POSIX qw(mktime); for (<DATA>) { my ($C, $Y, $M, $D, $h, $m, $s) = unpack "A1 A2 A2 A2 A2 A2 A2"; my $epoch = mktime($s, $m, $h, $D, $M-1, $Y+100*$C); print scalar localtime $epoch; print $/; } __DATA__ 1130508154533613

Replies are listed 'Best First'.
Re^2: Candle Time
by Anonymous Monk on May 16, 2013 at 14:19 UTC
    yup, unpack is faster than split or m//atch
    #!/usr/bin/perl -- use strict; use warnings; Fudge('1130508154533613'); sub Fudge { use POSIX qw( mktime strftime ); my ( $Y, $M, $D, $h, $m, $s, $ms ) = unpack 'A3 (A2)5 A3', $_[-1] +; my $epoch = mktime( $s, $m, $h, $D, $M, $Y, -1, -1, -1 ); print "$epoch = ", strftime( '%Y-%m-%d %H:%M:%S', $s, $m, $h, $D, $M, $Y, -1, -1, - +1 ), ".$ms", $/; print scalar localtime $epoch; print $/; } __END__ 1370731533 = 2013-06-08 15:45:33.613 Sat Jun 8 15:45:33 2013