У меня есть список задач, который выглядит следующим образом:
@todos = (
"1 (A) Complete online final @evm4700 t:2010-06-02",
"3 Write thank-you t:2010-06-10",
"4 (B) Clean t:2010-05-30",
"5 Donate to LSF t:2010-06-02",
"6 (A) t:2010-05-30 Pick up dry cleaning",
"2 (C) Call Chris Johnson t:2010-06-01"
);
Это первое число является идентификатором задачи. Если рядом с задачей ([A-Z]), это определяет приоритет задачи. То, что я хочу сделать, это отсортировать массив задач таким образом, чтобы в первую очередь располагались приоритетные элементы (и в порядке убывания приоритета, от A до Z):
@todos = (
"1 (A) Complete online final @evm4700 t:2010-06-02",
"6 (A) t:2010-05-30 Pick up dry cleaning",
"4 (B) Clean t:2010-05-30",
"2 (C) Call Chris Johnson t:2010-06-01"
"3 Write thank-you t:2010-06-10",
"5 Donate to LSF t:2010-06-02",
);
Я не могу использовать обычный sort()
из-за этих идентификаторов рядом с задачами, поэтому я предполагаю, что необходима какая-то настраиваемая подпрограмма сортировки. Однако мои знания о том, как сделать это эффективно в Perl, минимальны.
Спасибо всем.