Thread updates von eigenen programmen, wie erstelle ich updatedateien? (15 answers)
Opened by #Kein Kommentar at 2009-09-18 16:38

sid burn
 2009-09-20 18:51
#125972 #125972
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Du kannst dir mal Module::Starter anschauen. Das legt dir bereits die Infrastruktur an für ein Modul.

Danach kannst du deine Module unter dem Verzeichniss "lib" ablegen. Selber als Hilfe nutzt du dann wahlweise ExtUtils::MakeMaker, Module::Build oder Module::Install.

Ich würde da persönlich Module::Build empfehlen.

ExtUtils::MakeMaker (EUMM) ist das erste Buildsystem was es gab und shcon etwas veraltet/kompliziert. Weiterhin benötigt du noch externe Module wie "make" damit es Funktioniert. Bei diesem bearbeitest du dann hauptsächlich auch eine "Makefile.PL" für dein Modul.

Module::Build (MB) und Module::Install (MI) sind beides Pure Perl Module. Daher du brauchst nur ein installiertes Perl damit diese Funktionieren. Das ist Platformkompatibler als EUMM und macht auf Windows z.B. keine Probleme.

Ansonsten kenne ich beides da Catalyst immer MI Standardmäßig nutzt, und bisher habe ich selber immer MB genutzt. Würde dir aber MB nahelegen da ich finde das es einfacher zu bedienen und teilweise auch mehr Funktionalitäten hat. MB legt dir auch gleich so eine reihe von Helfer Dateien an z.B. Ignore Files die du super nutzen kannst für Versionierungssysteme. Auch so beachtet MB einige sachen. Mehr, veränderst du z.B. Dateien in "lib" und rufst "./Build test" auf dann erkennt er z.B. das du die Dateien verändert hast und ruft implizit für dich "./Build" auf. Wenn du bei MI z.B. "make test" aufrufst dann laufen deine Tests gegen die Module seit dem du das letzte mal "make" aufgerufen hast. Es ist mir schon ein haufen mal passiert das tests fehlgeschlagen sind, ich die ganze Zeit im "lib" verzeichniss geschaut habe warum diese noch fehlschlagen und mir dann später eingefallen ist: "Ahh stimmt ich muss ja vorher noch "make" ausführen". Das ist nur so ein Beispiel auch hat MB einige Optionen mehr die du mit "./Build help" erfährst.

Module::Install ist zwar ebenfalls Pure Perl, versucht aber möglichst Kompatibel zu EUMM zu sein. Daher du hast wieder eine Makefile.PL die du bearbeites, bei MB bearbeitest du eine Build.PL. Alelrdiengs benötigst du wieder "make" um deine Module zu installieren, was bei MB komplett weg fällt. Zur Kompatibilität sei aber gesagt das MB ebenfalls immer eine Makefile.PL erstellt aus deiner Build.PL Datei heraus. Daher jemand kann ebenfalls noch seine Module über "make" installieren.

Ich hatte erst letztens noch einen Beitrag geschrieben wo ich anhand von Module::Starter und Module::Build das aufsetzen eines Moduls erklärt habe. Zumindest sind das die Absoluten Grundlagen. http://www.perl-community.de/bat/poard/message/125...
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread updates von eigenen programmen, wie erstelle ich updatedateien?