Je viens d'installer Perl 5.18, et je reçois beaucoup de mises en garde de ce genre,
given is experimental at .\[...].pl line [...].
when is experimental at .\[...].pl line [...].
Smartmatch is experimental at C:/strawberry/perl/site/lib/[...] line [...].
La recherche dans ces mises en garde, ce que je n'ai jamais entendu parler de n'importe où -- je n'ai pu trouver dans deux endroits,
- perldelta pour 5.18, ce qui n'est vraiment mentionne dans la mesure où-à-dire que la fonction a été rétrogradé à expérimentales?
- cette nntp.perl.org post
Le Perl Delta n'est toujours le plus à donner de mentionner à ce qui se passe avec ces fonctionnalités, il est à moitié enterré dans le pod,
Smart match, a ajouté v5.10.0 et largement révisé à la v5.10.1, a été un point régulier de la plainte. Bien qu'il existe un certain nombre de façons dont il est utile, il s'est aussi avéré problématique et source de confusion pour les utilisateurs et développeurs de Perl. Il y a eu un certain nombre de propositions sur la meilleure façon d'aborder le problème. Il est clair que smartmatch est presque certainement va changer ou disparaître dans l'avenir. En s'appuyant sur son comportement actuel n'est pas recommandé. Avertissements va maintenant être émis lorsque l'analyseur voit ~~, donné, ou lorsqu'.
Je suis confus sur la façon dont le changement le plus important en Perl dans les 10 dernières années pourrait être tiré. J'ai commencé à utiliser given
, when
, et smartmatch
tous sur la place. Est-il plus d'informations sur ces contrats à terme? Comment est ce que quelqu'un à les trouver "confusion?" Comment sont ces caractéristiques susceptibles de changement? Est-il prévu d'implémenter ces fonctionnalités avec un module?