Ich möchte einige zusätzliche .pl-Dateien in mein CPAN-Modul aufnehmen. Diese Dateien sind nicht unbedingt erforderlich, um das Modul zu verwenden, bieten jedoch nützliche Funktionen / Funktionen, wenn das Modul in einigen gängigen Frameworks und Anwendungen verwendet wird.
Momentan schließe ich einfach die .pl-Dateien in ein "Extras" -Verzeichnis der Distribution ein. Dies hat den Nachteil, dass die Dateien nicht auf make install
installiert sind. Gibt es eine Möglichkeit, sie in die Installation aufzunehmen und wohin sollten sie gehen? (Sie sind keine ausführbaren Dateien und gehören nicht in "bin".) Würde "teilen" Sinn machen? Oder werden diese Arten von Dateien normalerweise einfach nicht installiert und es bleibt dem Benutzer überlassen, sie aus dem .tgz-Archiv zu holen und nach Bedarf zu benutzen?
Ich verwende Dist :: Zilla, um meine Distribution zu verwalten.
Ich mochte @ Joes Antwort, außer dass in meinem Fall die Dateien WebWork-Makros - einzelne .pl-Dateien waren mache mein Modul aufrufbar aus dem Code des WebWork-Endbenutzers. Sie passen also nicht in eine der hier besprochenen Kategorien und können .pl-Dateien nicht zu einem Modul machen.
Dies ist, was ich getan habe:
[ShareDir]
Zeilengruppe mit dir = extras
property hinzu. perl -MFile::ShareDir -e 'print File::ShareDir::dist_dir("Statistics-R-IO")'
verwenden, um die Makros zu finden und sie in WebWork verfügbar zu machen. Ich würde Folgendes vorschlagen:
/bin
mit ihrem eigenen POD gehen könnten. ::Utils
-Modul, damit sie darin leben und ihre Verwendung dokumentieren können. ::Cookbook
all-POD-Modul und fügen Sie es dort mit der entsprechenden erklärenden Erklärung ein. Ich weiß nicht genau, wie Dist :: Zilla funktioniert, aber das resultierende Archiv muss mit dem, was ExtUtils :: MakeMaker erzeugt, kompatibel sein.
Wenn Sie ein Modul mit module-starter
erstellen, erstellt es eine Modulvorlage mit ExtUtils::MakeMaker
. Es erstellt mehrere Dateien und Verzeichnisse wie das Verzeichnis lib
, in dem sich Ihr Modul befindet, und die Verzeichnisse t
, in denen Ihre Tests gespeichert sind.
Eine Sache, die es nicht erstellt, ist ein Verzeichnis bin
. Wenn Sie jedoch ein bin
-Verzeichnis erstellen und Dateien in dieses Verzeichnis stellen (z. B. Perl-Skripte), werden diese Dateien im Verzeichnis bin
in Ihrer Perl-Distribution installiert und mit /usr/local/bin
oder /usr/bin
verknüpft. . Wäre dies ein guter Ort für Ihre Skripte?
Tags und Links perl