Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10207[/thread]

Verständnisproblem "use Modulname"



<< >> 4 Einträge, 1 Seite
Superfrank
 2007-08-24 13:05
#98611 #98611
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo,
mal angenommen ich habe ein Script haupt.pl was ein selbstgeschriebenes Modul "zusatzmodul" mit

Code (perl): (dl )
use zusatzmodul;


benutzt. Beide brauchen das Modul CPAN:DBI. Muß nun im Script und dem Zusatzmodul jeweils ein

Code (perl): (dl )
use DBI;


hinein oder kann man das im Hauptscript geladene Modul an das Zusatzmodul übergeben damit es nicht doppelt geladen wird? Ich habe da irgendwie ein grundsätzliches Verständnisproblem.

Viele Grüsse

Frank
pq
 2007-08-24 13:36
#98613 #98613
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code: (dl )
use Modul;

macht im prinzip 2 dinge. es lädt den quelltext Modul.pm, und es importiert eventuell
subroutinen.
wenn du im hauptskript use Modul hast, brauchst du es zwar theoretisch in einem
modul von dir nicht, aber - grundsätzlich sollte man in einem skript/modul, das ein modul
braucht, auch das use schreiben, damit zum einen klar ist, "dieses skript/modul braucht
modul foo", zum anderen, weil sich ja das hauptskript mal ändern könnte und das modul
nicht mehr braucht. dann fällt dein modul auf die nase.
gedanken um performance brauchst du dir nicht zu machen, use() lädt ein modul letztendlich
nur einmal, egal, wie oft es insgesamt im programm vorkommt.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
ptk
 2007-08-24 23:40
#98635 #98635
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
pq+2007-08-24 11:36:27--
Code: (dl )
use Modul;

macht im prinzip 2 dinge. es lädt den quelltext Modul.pm, und es importiert eventuell
subroutinen.

Genauer: Symbole. Es können auch Variablen und Konstanten etc. sein.
Superfrank
 2007-08-25 02:03
#98652 #98652
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo Ihr Beiden ;-)
wie pq wohl bereits geahnt hat ging es mit auch um die Performance aber mehrere use-Aufrufe des gleichen Modules stellen zum Glück kein Problem dar.
Für eigene Zwecke habe ich bereits ein paar Module geschrieben und mich auch schon etwas mit dem Export von Funktionsnamen beschäftigt, damit man dem Aufruf nicht immer dem Modulnamen voranstellen muß. Ich danke für die Auskunft und werde mir die Thematik beizeiten nochmal genauer reinziehen.


Viele Grüsse

Frank
<< >> 4 Einträge, 1 Seite



View all threads created 2007-08-24 13:05.