Mehrfaches Paket mit dem Exporteur in Perl

8

Ich versuche, mich mit dem Perl-Exporter vertraut zu machen, das Problem, mit dem ich konfrontiert werde, ist, was auch immer ich versuche. Ich kann Exporteur nicht mit Modulen verwenden, die mehrere Pakete enthalten. Was vermisse ich unten?

%Vor%

Ich bekomme test1 ist nicht Teil des Hauptpakets.

Vielen Dank im Voraus.

    
k.lo 20.04.2017, 05:27
quelle

1 Antwort

8

Die verwenden Aufrufe require , die nach einer Datei mit dem Paketnamen sucht (mit / für :: und + .pm ).

Also require die eigentliche Datei mit Paketen und dann aus Paketen importieren.

main.pl

%Vor%

Platzieren Sie in der Datei MyModule.pm jedes Paket in seinem eigenen Block, um einen Bereich für lexikalische Variablen zu bieten, da Paket macht das nicht. Seit v5.14 (glaube ich) kannst du das mit package Pack { ... } gut machen. Es gibt keine Notwendigkeit für all diese 1 s, und Sie können use Exporter; aus den Blöcken herausziehen.

Ausgabe

%Vor%

Besser noch, ersetzen Sie our @ISA = qw(Exporter); durch use Exporter qw(import); für

%Vor%

mit der gleichen Ausgabe.

Beachten Sie, dass das Einfügen mehrerer Pakete in eine Datei normalerweise nicht benötigt wird und nicht erfolgt.

    
zdim 20.04.2017, 06:04
quelle

Tags und Links