in reply to sort HoA by tow keys

I have a HoA data

You don't.

You have a hash %HoA with one key (a stringified hash reference) and no value. Had you used warnings, perl had told you:

Reference found where even-sized list expected at ...

You surely mean:

my %HoA= ( 1=>["ab",20090101,91010], 2=>["cd",20090101,91010], 3=>["ef",20090201,101000], ...... );

That corrected, your sorting should work.