Frage

Nach meinem Verständnis hat Perl traditionell nur Kernfunktionen einbezogen, und Menschen installieren zusätzliche Bibliotheken, um alle möglichen nützlichen (und manchmal sehr grundlegenden) Dinge zu erledigen. Irgendwann wurden "Kernbibliotheken" entstanden, die standardmäßig mit Perl versendet werden - so können Sie diese Bibliotheken verwenden, ohne sie zu installieren.

Wenn ich aus Python komme, bin ich gespannt, wie das verwaltet wird. Speziell:

  1. Wie werden Bibliotheken ausgewählt?
  2. Haben die Bibliotheken noch ihre eigenen Versionsnummern und Veröffentlichungspläne?
  3. Welche Art von Rückwärtskompatibilitätsgarantien haben Sie bei der Verwendung dieser Bibliotheken?
  4. Ist es üblich, diese Bibliotheken in einem System zu aktualisieren oder herunterzustufen? Ist dies systemweit oder genauer gesagt?
  5. Wenn es eine Fehlerbehebung gibt, die eine API -Änderung erfordert, wie passiert das?
  6. Wie wird die Funktionalität diesen Kernbibliotheken hinzugefügt (wenn es überhaupt ist)?
War es hilfreich?

Lösung

  1. Derzeit gehen nur Bibliotheken, die für die Bootstrap/Installation erforderlich sind Kernliste.
  2. Einige befinden sich nur im Perl Git -Repository. Einige sind auf CPAN und im Repo zwei Leben. Manchmal werden Fehler im Repo behoben und die Änderungen werden in die CPAN -Version zurückgeschrieben. Manchmal gibt es eine neue Veröffentlichung auf CPAN und eine Perl -Betreuer im Modul in das Repo.
  3. Sie können sich auf ein Kernmodul verlassen. Es gibt einen sehr langen Abschaltungs -Timesspan, bevor man entfernt wird. Das jüngste herausragende Beispiel war Switch.
  4. Verpacker (z. B. die Leute, die RPMs für eine Linux -Verteilung bauen) könnten dieses Recht nie richtig machen; die falsche Reihenfolge von Pfaden (Pfade (@INC) nicht ihre Schuld und schließlich mit 5.12 befestigt. Dies ist der Grund, in dem die Empfehlung von der Kompilierung Ihres eigenen Perls und nicht mit der Systeminstallation kommt. Mit 5.12 sollen Sie CPAN nur verwenden, um eine aktualisierte Version eines Kernmoduls zu installieren, und es wird addtionell zu dem mit dem System versendeten installiert. Da der neue jedoch vor dem alten in den Include -Pfad kommt, ist das neue Man wird geladen, wenn Sie use/require es.
  5. Ausgelegt Perlpolicy.
  6. Programmieren Sie die Funktionalität und Tests dafür, dokumentieren Sie das Ding, geben Sie dann auf CPAN ab oder lassen Sie einen Betreuer den Änderungssatz anwenden. Dies wird mit einer Diskussion über begleitet p5p.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top