Or for a more general solution that doesn't require adding || after || after || and which uses data to drive the sort instead of hard-coding it, check out
Sort::MultipleFields. You'll need to turn your data into an array of hashrefs first and then back again afterwards.