# Remove leading zeros from months, days and hours, # but not from minutes or seconds... $timestamp =~ s{(?## #!perl use v5.14; use strict; use warnings; use DateTime; use DateTime::Format::Strptime; my $parser = DateTime::Format::Strptime->new( pattern => '%Y%m%d %H:%M:%S' ); my $format = '%m/%d/%Y %r'; while (my $timestamp = ) { my $dt = $parser->parse_datetime($timestamp); $timestamp = $dt->strftime($format); # Remove leading zeros from months, days and hours, # but not from minutes or seconds... $timestamp =~ s{(?## #!perl use v5.14; use strict; use warnings; use DateTime; use DateTime::Format::Strptime; my $parser = DateTime::Format::Strptime->new( pattern => '%Y%m%d %H:%M:%S' ); my $pattern = 'M/d/y h:mm:ss a'; while (my $timestamp = ) { my $dt = $parser->parse_datetime($timestamp); $timestamp = $dt->DateTime::format_cldr($pattern); say $timestamp; } exit 0; __DATA__ 20040805 18:31:00 20050106 10:54:27 20050302 01:23:35 20100808 20:00:16 20110501 18:09:44 20110909 20:02:42 20130408 18:09:03