Hi,
I am new to perl and need help in sorting dates. I have a text file with 50000 lines. One column is date in the format D/M/YYYY. I'm reading the file and making a hash for the date count. I would like to sort these dates before displaying them finally.
I tried converting this to DD/MM/YYYY using regular expression but this obviously dosent work. I guess converting the date to YYYY/MM/DD, sorting and converting back is not a good idea also.
I havent worked with date modules and can someone suggest which one to use Date::Calc or Date::Manip and how to use them with hash in my case.
Thanks in advance.
Joseph
foreach my $line (@file)
{
my @fields = split(/,/, $line);
if ($fields[6] !~ /\d{2}\/\d{2}\/\d{4}/)
{
@tempdate = split(/\//, $fields[6]);
if ($tempdate[0] < 10)
{
$newdate = "0" . $tempdate[0] . "/";
}
else
{
$newdate = $tempdate[0] . "/";
}
if ($tempdate[1] < 10)
{
$newdate = $newdate . "0" . $tempdate[1] . "/";
}
else
{
$newdate = $newdate . $tempdate[1] . "/";
}
$fields[6] = $newdate . $tempdate[2];
}
$datecount{$fields[6]}++;
}
foreach my $date (sort(keys(%datecount)))
{
print "\n", $date, ": ", $datecount{$date};
}