Does your format example say Jan 9 or Sep 1? Whichever it is, transform to iso standard format (YYYY-MM-DD) and dictionary sort,
sub to_iso {
join '-', reverse split '-', shift;
# otherwise,
# join '-', (split '-', shift)[2,0,1];
}
sub from_iso {
join '-', reverse split '-', shift;
# otherwise,
# join '-', (split '-', shift)[1,2,0];
}
# @data is all your records as an AoA
my @sorted = map { $_->[7] = from_iso($_->[7])}
sort {$a->[7] cmp $b->[7]}
map { $_->[7] = to_iso($_->[7])} @data;
The maps surrounding the sort routine serve to reduce the number of calls to to_iso(). That pattern is called the Schwartzian Transform, an idiom worth understanding.