Was ist der Unterschied zwischen .pm
(Perl-Modul) und .pl
(Perl-Skript) Datei?
Bitte sagen Sie mir auch, warum wir 1
aus der Datei zurückkehren. Wenn return 2 oder etwas anderes ausgegeben wird, wird kein Fehler generiert. Warum kehren wir also 1
vom Perl-Modul zurück?
perl
perl-module
user380979
quelle
quelle
1
ist egal. Es kann sein2
, es kann sein"foo"
, es kann sein["a", "list"]
. Was zählt, ist, dass es nicht0
oder irgendetwas anderes als falsch bewertet wird oderuse
fehlschlagen würde.Antworten:
Im Kern macht die von Ihnen verwendete Dateierweiterung keinen Unterschied, wie
perl
diese Dateien interpretiert werden.Das Einfügen von Modulen in
.pm
Dateien, die einer bestimmten Verzeichnisstruktur folgen, die dem Paketnamen folgt, bietet jedoch eine Annehmlichkeit. Also, wenn Sie ein Modul habenExample::Plot::FourD
und setzen Sie es in einem VerzeichnisExample/Plot/FourD.pm
in einem Pfad in Ihrem@INC
, dannuse
undrequire
das Richtige tun , wenn Sie den Paketnamen als in gegebenuse Example::Plot::FourD
.Alles, was Sie
use
tun müssen, ist, den Dateinamen aus dem angegebenen Paketnamenrequire
in einemBEGIN
Block herauszufinden undimport
das Paket aufzurufen . Nichts hindert Sie daranuse
, diese Schritte nicht manuell zu verwenden.Zum Beispiel habe ich das
Example::Plot::FourD
Paket unten in eine Datei namens aufgerufent.pl
und es in ein Skript in einer Datei geladens.pl
.Dieses Beispiel zeigt, dass Moduldateien nicht enden müssen, sondern dass
1
ein wahrer Wert ausreicht.quelle
Ein .pl ist ein einzelnes Skript.
In .pm ( Perl-Modul ) haben Sie Funktionen, die Sie aus anderen Perl-Skripten verwenden können:
quelle