Pseudo-Hashes

Pseudo-Hashes

am 09.06.2006 10:37:36 von Ferry Bolhar

Hallo,

in der Perl-Doku findet sich manchmal ein Hinweis auf sog. "Pseudo-Hashes",
dh., Hashes, die mit Hilfe des "fields"-Pragmas intern wie Arrays
angesprochen
werden und bei denen die zu verwendenden Keys vorher definiert werden
müssen; es sind dann nur diese Keys erlaubt (wird vom Compiler geprüft).
Gleichzeitig habe ich gelesen, dass diese Funktionalität ab Perl 5.9 nicht
mehr
unterstützt sein wird.

Ich muss nun Code erweitern, der das "fields"-Pragma verwendet und der auch
in künftigen Perl-Versionen lauffähig sein soll. Daher bitte ich um die
Beantwortung
folgender Fragen:

o) Sind Pseudo-Hashes eine Funktionalität des Perl-Core oder sind sie nur
das "fields"-Pragmaimplementiert? Wie genau funktioniert "fields" (soweit
ich
den Code identifizieren konnte, gibt es da einen speziellen Hash
%::FIELDS ( ist der jeweilige Package-Name), der
die erlaubten Keys enthält)?

o) Welche Alternativen stehen ab Perl 5.9 dafür zur Verfügung?

o) Verwendet jemand diese Funktionalität? Gibt es dabei irgendetwas zu
beachten? Sollte man besser anderen Code verwenden (um portabel zu
bleiben)? Falls ja, welchen?

Schönen Dank für eure Antworten und Grüße aus Wien,

Ferry
--
Ing. Ferry Bolhar
Municipality of Vienna, Department 14
A-1010 Vienna / AUSTRIA
E-mail: bol@adv.magwien.gv.at