Thread funktionen aus eigenem Modul einbinden (16 answers)
Opened by supersucker at 2005-04-26 18:43

supersucker
 2005-04-26 18:43
#54230 #54230
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
Hi zusammen,

hab ein problem was wahrscheinlich supereinfach zu lösen ist, aber ich komm grad nicht weiter, folgendes:

ich hab einige perl-scripte die im gleichen verzeichnis liegen und alle dem package FRAG_LIB angehören, da die scripte einige funktionen gemeinsam nutzen, wollte ich diese in ein separates modul auslagern, was ich also getan hab ist folgendes:

- ich hab im gleichen verzeichnis in dem die scripte liegen ein modul namens "functionsAndConstants.pm" erstellt

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

use warnings;
use DBI;
use Math::Trig qw(tan sec csc cot asin acos atan asec acsc acot sinh cosh tanh sech csch coth asinh acosh atanh asech acsch acoth);
use Math::MatrixReal;

package FRAG_LIB;

sub RadToDegree()
{
return (($_[0] * 180)/ Math::Trig->pi());
}


- und hab dass dann so in eines meiner scripte eingebunden:

Code: (dl )
use functionsAndConstants;


daraufhin hab ich von eclipse (ich entwickle unter fedora 3, eclipse 3 und epic) die fehlermeldung erhalten:

"line x did not return a true value" (mit x als der zeile in der die use declaration steht)

dann hab ich es noch so probiert:
Code: (dl )
use "functionsAndConstants.pm";


egal wie ich es probiert hab, alles ergab entweder obige fehlermeldung oder die meldung das ich in der zeile in der ich das modul einbinde einen syntaxfehler habe....

alle anderen Module die ich eingebunden habe (wie z.B. Math::MatrixReal s.o.) funktionieren einwandfrei....

und wenn ich sowas mache wie:

Code: (dl )
1
2
3
4
foreach (@INC)
{
print "$_ \n";
}

sehe ich auch, dass @INC auch das aktuelle verzeichnis, in dem sich alle scripte und das modul befinden, enthält

was läuft denn da falsch?
die einbindung des moduls?
oder hab ich bei dem modul selber was nicht beachtet?

hab jetzt schon in einigen tutorials gekuckt, aber das modul scheint so korrekt zu sein....

auf selfhtml steht dazu folgendes beispiel:

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

sub Modulprint {
print "Hier meldet sich das Modul \"Modul.pm\"\n";
}

1;


hab auch schon mal "1;" im modul eingefügt, das hat aber auch nichts gebracht (bedeutung von "1;"?)

thx für jede hilfe.........

View full thread funktionen aus eigenem Modul einbinden