Thread Funktionen in Modulen nutzen (5 answers)
Opened by der_thomas at 2016-03-07 21:11

der_thomas
 2016-03-07 21:11
#184100 #184100
User since
2013-09-07
158 Artikel
BenutzerIn
[default_avatar]
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:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use v5.12;

use lib "/home/thomas/Programme/Perl/modules/";
use Algo_Tool;

# Ab hier dann ein direktes ansprechen der Funktionen, z.B.
test();


Dazu die erste Frage, spricht etwas gegen obige Vorgehensweise, außer dass es wenig portabel ist ?

Frage 2, warum funktioniert folgendes nicht ?

Code (perl): (dl )
1
2
3
4
#!/usr/bin/perl
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:

Code (perl): (dl )
1
2
3
4
#!/usr/bin/perl
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

View full thread Funktionen in Modulen nutzen