If I understand you correctly, you have a list of dates, each of which is formatted YYYY-MM-DD. Your objective is to reformat each string to DD-MM-YYYY and then to output them in date order.
The solution will probably involve sorting the YYYY-MM-DD elements alphabetically (which works out to chronologically in this case), mapping each element of the sorted list to a hash where the value is the date's index position in the sorted list. But at that point you'll have to use split to reformat the original strings before pushing them onto a new list in an order specified by the hash, which you will be using as a look-up table.
So I don't understand why you're forbidden to use split as part of the solution. Please clarify.