Thread Wo findet man, welche Module in eine Projekt eingebunden sind? (12 answers)
Opened by wandfarbe at 2014-03-08 15:30

renee
 2014-03-09 12:59
#173916 #173916
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
2014-03-09T11:07:42 wandfarbe
D.h. Es gibt nur das Repository cpan, und wenn Module geladen werden müssen, dann ist das immer von cpan und nicht z.b. von repository xy?
Es gibt noch die Möglichkeit, dass es selbstentwickelte Module sind. Theoretisch könnte jemand Module auf seiner Webseite zur Verfügung stellen und nicht auf CPAN laden. Das dürfte aber sehr selten vorkommen (ich habe z.B. *einmal* ein nicht-CPAN-Modul von github geladen). Wenn die vom Programmierer verwendet werden hast Du aber keine Chance zu erfahren *woher* (unter welcher URL) das Modul stammt.
2014-03-09T11:07:42 wandfarbe
Und wenn es jetzt keine MakeFile.PL gibt, woher weiss das cpan Modul dann, dass irgendwo im Skript Modul xy eingebunden wird?

weiß es nicht
2014-03-09T11:07:42 wandfarbe
Durchläuft das cpan Modul das komplette Projekt, oder wie funktioniert das?
cpan kann nur die Module installieren, die als "benötigt" in der Makefile.PL oder der Build.PL eingetragen sind. Ansonsten wird das Projekt/Programm beim Start fehlschlagen...
2014-03-09T11:07:42 wandfarbe
Eine letzte Frage noch:
In der MakeFile.PL stehen neben require auch "test_requires" und "author_requires", was bedeuten denn diese beiden?
"test_requires" heißt, dass die genannten Module nur für die Unittests aber nicht für den normalen Programmablauf gebraucht werden. Der cpan-Client geht bei der Installation so vor: Distribution herunterladen, Unittests ausführen, installieren.

"author_requires" heißt, dass die Module nur von Programmierern benötigt werden die auch das Modul weiterentwickeln wollen. Die werden also weder die Unittests noch für den normalen Programmablauf benötigt. Es ist z.B. häufig anzutreffen, dass Autoren Tests schreiben ob sie alle Methoden dokumentiert haben. Das sind aber Tests die dann häufig beim Installieren nicht ausgeführt werden weil sie dementsprechend gekennzeichnet sind.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Wo findet man, welche Module in eine Projekt eingebunden sind?