Thread Module und deren globale Datenstrukturen (4 answers)
Opened by pktm at 2005-06-30 00:49

pktm
 2005-06-30 00:49
#55841 #55841
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe mir ein Modul geschrieben bei dem ich einen (im Modul) globalen Hash angegelt habe um dort die ganzen Sachen zu speichern die ich halt so im Modul produziere.

Beipiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Test;
our %config = (
   Nummer => 0,
   grafikVerzeichnis => File::Spec->catfile(qw(foo bar)),
   # usw.
);

sub setNummer {
   my $self = shift;
   my $setTo = shift;
   $config{Nummer} = $setTo;
}

sub getNummer {
   my $self = shift;
   return $config{Nummer};
}

1;


Jetzt bin cih mir aber nicht so ganz sicher ob das wirklich die feine Art ist das zu tun.

Wie sollte ich innerhalb eines Moduls verwendete Daten ablegen?
In $self? In einem globalen Hash? Oder wie sonst?

Denn, wenn ich den Hash so wie jetzt global definiere und in manchen Subs darauf zugreife ist das ja schließlich eine Art versteckte Parameter-Übergabe.
Selbiges gilt m.E. auch dann, wenn ich den Hash im Konstruktor in $self packe.

Lösungsvorschläge? Persönliche Präferenzen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Module und deren globale Datenstrukturen