use Algorithm::Loops (MapCarE); my $dateTime= join "", MapCarE { sprintf "%02d%s", pop()+pop(), pop() } [ (localtime)[5,4,3,2,1,0] ], [ 1900, 1, (0)x4 ], [ "// ::" =~ /./g, "" ]; print $dateTime,$/; print scalar localtime(),$/; ## for a more familiar view __OUTPUT__ 1900103018003000100130037 Tue Sep 30 01:13:37 2003