Ответ 1
Используйте один из множества модулей Set на CPAN. Судя по вашему примеру, Set::Light
или Set::Scalar
кажутся подходящими.
Я могу защитить этот совет с помощью обычных аргументов pro CPAN (без учета возможных синергетических эффектов).
- Как мы можем знать, что поиск - это все, что необходимо, как сейчас, так и в будущем? Опыт учит, что даже самые простые программы расширяются и расширяются. Использование модуля предвидит это.
- API намного удобнее для обслуживания или людей, которым необходимо читать и понимать код в целом, чем специальная реализация, поскольку позволяет думать о частичных проблемах на разных уровнях абстракции.
- В связи с этим, если выясняется, что накладные расходы нежелательны, легко перейти от модуля к простому, удалив указатели или парирующие структуры данных и исходный код. Но, с другой стороны, если потребуется больше возможностей, то в среднесрочной перспективе добиться большего будет наоборот.
- Модули CPAN уже протестированы и в какой-то степени полностью отлажены, возможно, API также прошел шаг за шагом, тогда как с ad-hoc, программисты обычно реализуют первый дизайн, который приходит на ум.
Редко получается, что выбор модуля в начале является неправильным выбором.