Perl-Programme in der Regel als eine Datei existiert . Die Verwendung und erfordern Funktionen erlauben Programme , Funktionen und Methoden in externen Pakete und Library-Dateien integrieren. Diese beiden Stichworte, arbeiten meist in der gleichen Weise , haben aber einige syntaktische Unterschiede im Code. Insgesamt hat die Verwendung Funktion mehr Einsatzmöglichkeiten als den Anforde -Funktion. Syntax
den Anforde -Funktion ausführen möchten, geben Sie die "require" Stichwort von der Perl Versionsnummer oder durch einen Ausdruck , um eine Datei oder Paket enthalten sein sollen folgen . Um die Verwendung Funktion ausführen möchten, geben Sie die "Verwendung" Stichwort von der Perl -Version Nummer oder durch Eingabe von "Modul" und ein Modul-Namen oder eine Liste von Modulen innerhalb des " qw "-Funktion , die eine Liste zitiert kehrt enthaltenen gefolgt . Syntaktisch "Baugruppe qw ( Import-Liste ) ," und "BEGIN { erfordern MODUL ; MODUL -> Import ( Import-Liste );} ", die beide das gleiche tun
Function Call
Einer der größten Unterschiede zwischen der Nutzung und erfordern , wenn Perl läuft sie . Perl läuft die Verwendung Funktion zur Compile - Zeit und die Einfuhren Pakete und Methoden an dieser Stelle , so dass alle Fehler im Code , wenn das Programm kompiliert Perl gefunden erwischt werden , so dass Sie sie beheben können . Perl läuft die Anforde -Funktion zur Laufzeit ; nach der Kompilierung des Programms. Es importiert keine Pakete oder Methoden , es nur auf sie verweist . Um alle gefundenen Fehler hier zu korrigieren, müssen Sie gehen zurück auf den Code und erstellen Sie dann das Programm erneut.
Gemeinsamkeiten
Eines der gemeinsamen Merkmale der benötigen und nutzen Funktionen ist, dass sie jeweils Sie eine Version von Perl , die Sie verwenden möchten, angeben können . Wenn Ihr Perl-Interpreter -Version ist weniger als die Version, die Sie verwenden möchten , wird eine Exception ausgelöst . Auch, ob beide Funktionen den Hash % INC -Cache , um zu sehen , ob eine Datei oder ein Modul existiert in ihm. Wenn ja, die Funktionen nicht laden Sie die Datei oder das Modul , weil das Programm noch nicht vorliegen . Sonst haben sie laden und speichern den Namen Schlüssel im Hash .
Verwendet
Beide Funktionen sind Schlüsselwörter im Zusammenhang mit Perl-Module . Allerdings, wenn Sie nicht liefern eine Liste von Modulen gehören , garantiert es das Programm der Namensraum bleibt unverändert. Die Verwendung Funktion wird auch in Klassen , Objektorientierung und Scoping . Beispiele wie " use strict " oder "Verwendung integer" erlauben eine Perl-Programm zu Semantik von pseudo- Module in einzelne Abschnitte, oder Blöcke von Code eines Programms , anstatt während des gesamten Programms zu importieren. Diese Pseudo- Module können ausgeschaltet werden. Die Anforde -Funktion kann dies nicht tun .