Question

De mon Perl a toujours comprendre que la fonctionnalité de base inclus, et les installer des bibliothèques supplémentaires pour faire toutes sortes de choses utiles (et parfois très basiques). Mais à un moment donné, il est venu des « bibliothèques de base » qui sont livrés avec Perl par défaut -. Vous pouvez donc utiliser ces bibliothèques sans les installer

En venant de Python, je suis curieux de voir comment cela est géré. Plus précisément:

  1. Comment les bibliothèques choisies?
  2. Est-ce les bibliothèques ont toujours leurs propres numéros de version et les horaires de libération?
  3. Quel type de garanties de compatibilité descendante avez-vous lorsque vous utilisez ces bibliothèques?
  4. Est-il commun à augmenter ou diminuer ces bibliothèques dans un système? Est-ce l'ensemble du système fini ou plus précisément?
  5. S'il y a une correction de bug qui nécessite un changement d'API, comment est-ce que cela se produise?
  6. Comment est la fonctionnalité ajoutée à ces bibliothèques de base (si elle est du tout)?
Était-ce utile?

La solution

  1. À l'heure actuelle, les bibliothèques seulement nécessaires pour l'amorçage / installer d'autres bibliothèques vont dans le liste de base .
  2. Certains ne sont que dans le dépôt git Perl. Certains sont à double vie sur CPAN et dans la mise en pension. Parfois bugs sont fixés dans la prise en pension et les modifications sont rétroportés à la version CPAN. Parfois, il y a une nouvelle version sur CPAN et un contrôle mainteneurs Perl dans le module dans le repo.
  3. Vous pouvez compter sur un module de base. Il y a un très timespan de deprecation long avant que l'on obtient enlevé, par exemple récent de premier plan était Switch.
  4. emballeurs (par exemple les personnes qui construisent RPM pour une distribution Linux) ne pourraient obtenir ce droit; le mauvais ordre d'inclure des chemins (@INC) pas leur faute, et finalement fixé avec 5,12 . Ceci est la raison pour laquelle la recommandation vient de compiler votre propre perl et ne plaisante pas avec l'installation du système. Avec 5,12, vous êtes censé simplement utiliser CPAN pour installer une version mise à jour d'un module de base, et il est installé Addtionally à celui livré avec le système, mais étant donné que le nouveau vient avant l'ancien dans le chemin d'inclusion, la nouvelle on se chargé lorsque vous use / require il.
  5. Mis en perlpolicy .
  6. Programme de la fonctionnalité et des tests pour elle, documenter la chose, puis relâchez sur CPAN ou ont respectivement un mainteneur appliquer le changeset. Ceci est accompagné d'une discussion sur P5P .
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top