in reply to bubble sort problems
In this case, I offer two suggestions; first, use sort's ability for any sort specification to sort by the fields in the order that you want; and second, to sort using the indices instead of elements, then using one addition loop to move things into place if you are starting with separate arrays.
# @date, @provider, @description, and @page are defined # elsewhere. my @indices = sort { $date[$a] <=> $date[$b] || $provider[$a] cmp $provider[$b] || $description[$a] cmp $description[$b] || $exhibit[$a] cmp $exhibit[$b] || $page[$a] <=> $page[$b] } (0..$#date); @date = map { $date[ $_ ] } @indices; @provider = map { $date[ $_ ] } @indices; # etc etc...
|
|---|