Есть ли в Perl тип перечисления , который соответствует передовым практикам , или, что более важно, нужен ли он?
В проекте, над которым я работаю, повсеместно используются строки для обозначения вещей, которые обычно используют Enum на языке, подобном C #. Например, у нас есть набор телефонных номеров в массиве хэшей, каждый из которых связан с типом телефона («Домашний», «Рабочий», «Мобильный» и т. Д.):
$phone_number->{type} = 'Home';
Было бы достаточно использовать здесь набор переменных только для чтения, или следует использовать Enum? Я обнаружил модуль enum
в CPAN , но, похоже, он использует пустые слова, которые нарушают один из Perl Best Practices . Мои мысли об использовании переменных только для чтения выглядят примерно так:
use Readonly;
Readonly my $HOME => 'Home';
Readonly my $WORK => 'Work';
Readonly my $MOBILE => 'Mobile';
$phone_number->{type} = $HOME;
Это хороший подход или есть лучший способ?