in reply to sorting of two perl arrays
Do your array indices matter to you? Probably not. Perl lets you ignore them.
What matters is that each item in @b is the PRIORITY OF the item in @a. To remember this, use a hash.
my %priority_of; @priority_of{@a} = @b; my @a_sorted_by_priority = sort { $priority_of{$a} <=> $priority_of{$b} } @a;
Efficiency experts may shudder at the hash lookups inside the sort block, but I say clarity first. Perl code can express what you care about. At a later stage it can be optimized.
Speaking of clarity, the names @a and @b don't really express what you are thinking about. I have replaced @b with %priority_of. What kind of thing is listed in @a?
|
|---|