in reply to Date parsing

You could try splitting on non-numeric characters.

my ($year,$month,$day,$hours,$minutes,$seconds,$milliseconds) = split( +"\D",$doc_date);