Hallo,
ich habe zwei Fragen bezüglich der Nutzung von Modulen.
Hintergrund:
Ich will von einem Aufruferscript Funktionen eines Moduls direkt nutzen, die Dateistruktur ist dabei folgende:
/home/thomas/Programme/Perl/front.pl #Aufruferscript
/home/thomas/Programme/Perl/modules/Algo_Tool.pm #Modul dessen Funktion ich direkt nutzen will.
Das funktioniert mittels Exporter in Algo_Tool auch - wenn das Aufruferscript folgendes beinhaltet:
use v5.12;
use lib "/home/thomas/Programme/Perl/modules/";
use Algo_Tool;
test();
Dazu die erste Frage, spricht etwas gegen obige Vorgehensweise, außer dass es wenig portabel ist ?
Frage 2, warum funktioniert folgendes nicht ?
use v5.12;
use modules::Algo_Tool;
test();
Es erscheint die Fehlermeldung:
Undefined subroutine &main::test called at front.pl line 39.
In @INC erscheint als letzter Eintrag ein '.', was, wenn ich das richtig verstanden habe, bedeuten müßte dass zuletzt - ausgehend vom aktuellen Arbeitsverzeichnis (in dem das Aufruferscript liegt ?) gesucht wird ? Und dort liegt der Ordner 'modules' und darin Algo_Tool.pm
Und auch hier bekomme ich die gleich Fehlermeldung:
use v5.12;
use lib "/home/thomas/Programme/Perl/";
use modules::Algo_Tool;
Ich verwende Perl 5.18.2 auf einem Ubuntu/Linux Mint System.
MfG
thomas