try using the string comparison operator 'eq' instead of the numeric comparison operator '==':
if ($Month eq 'Jan') {
and there is no reason at all to use all those if conditions as you force perl to evaluate them all even though you probably only will have one true value. Use if/elsif/else blocks for that purpose, but there is an even better solution, use a hash:
Code:
%Months = (
Jan => '01',
Feb => '02',
Mar => '03',
Apr => '04',
etc
etc
etc
Dec => '12'
);
$Month = $Months{substr($ODate, 4, 3)} || 'default';
print $Month;