#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; my $Map_Request_Date = 'Jan 1 2017 12:00'; my $Map_Due_Date = 'Jan 31 2017 12:00'; my $Map_Cutover_Date = 'Feb 28 2017 23:59'; my $Map_Complete_Date = 'Mar 1 2017 12:01'; my $Map_Approved_Date = 'Dec 31 1999 0:01'; for my $Date_Ref ($Map_Request_Date, $Map_Due_Date, $Map_Cutover_Date, $Map_Complete_Date, $Map_Approved_Date ) { say $Date_Ref; $Date_Ref =~ s/ +/ /; my ($Month, $Day, $Year, $Time) = split / /, $Date_Ref, 4; my %Months = ( Jan => '01', Feb => '02', Mar => '03', Apr => '04', May => '05', Jun => '06', Jul => '07', Aug => '08', Sep => '09', Oct => '10', Nov => '11', Dec => '12' ); $Day = sprintf '%02d', $Day; $Date_Ref = "$Year-$Months{$Month}-$Day"; } say for $Map_Request_Date, $Map_Due_Date, $Map_Cutover_Date, $Map_Complete_Date, $Map_Approved_Date;