N'Perl ont un type d'énumération qui respecte les meilleures pratiques, ou peut-être plus important encore, est-il besoin?
Le projet sur lequel je travaille, on utilise des chaînes partout pour désigner des choses qui devraient normalement utiliser un Enum dans un langage comme C#. Par exemple, nous avons un ensemble de numéros de téléphone dans un tableau de hachages, chacune associée à un type de téléphone ("à la Maison", "Travail", "Mobile", etc.):
$phone_number->{type} = 'Home';
Serait-il suffisant pour l'utilisation en lecture seulement un ensemble de variables ici ou devrait d'un Enum être utilisé? J'ai trouvé un enum
module CPAN mais il semble utiliser des mots nus qui contrevient à l'une des Perl Best Practices. Ma réflexion sur l'utilisation de variables en lecture seule va quelque chose comme ceci:
use Readonly;
Readonly my $HOME => 'Home';
Readonly my $WORK => 'Work';
Readonly my $MOBILE => 'Mobile';
$phone_number->{type} = $HOME;
Est-ce une bonne approche ou est-il un meilleur moyen?