Ich habe Probleme herauszufinden, wie man eine Subroutine in einer externen Moduldatei referenziert. Gerade jetzt mache ich das:
Externe Datei
%Vor%Haupt
%Vor%aber dieses Ergebnis in einen Fehler: String ("1") kann nicht als Subroutinenreferenz verwendet werden, während "strict refs" verwendet wird
Wie in perlmodlib erwähnt, sollten Sie den Namen Ihres Moduls mit einem Großbuchstaben beginnen:
Perl reserviert informell Kleinbuchstaben Modulnamen für 'Pragma' Module wie
integer
undstrict
. Andere Module beginnen normalerweise mit einem Großbuchstaben und verwenden einen gemischten Fall ohne Unterstriche (müssen kurz und tragbar sein).
Eine Möglichkeit, eine in einem anderen Paket definierte Untergruppe aufzurufen, besteht darin, den Namen dieser Untereinheit beim Aufruf vollständig zu qualifizieren:
%Vor% Wenn Sie nur einen Verweis auf printScreen
haben möchten, greifen Sie mit dem Backslash-Operator
und rufe es mit einem
auf %Vor%Sie könnten in Ihrem aktuellen Paket einen Alias erstellen:
%Vor%Überspringen Sie die Klammern (notwendig, weil die Unterkomponente im aktuellen Paket zur Kompilierzeit nicht bekannt war), indem Sie Folgendes schreiben:
%Vor%Das Modul Exporter kann diese Aufbewahrung für Sie übernehmen:
Einstellungen Allgemein.pm:
%Vor%main:
%Vor%Tags und Links perl reference external subroutine