Thread Variablen zentral in einer ini Datei verwalten (19 answers)
Opened by leissi at 2006-02-07 15:35

ptk
 2006-02-08 22:25
#62684 #62684
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=murphy,08.02.2006, 11:18]Also ich finde die meisten dieser Serialisierungsformate, die wir Pilze aus dem Boden schießen, total sinnlos.

Meiner Meinung nach sollte man entweder ein ganz einfaches Format nehmen, wie zum Beispiel eine INI-Datei,
[/quote]
Das wäre *keine* Serialisierung, weil man nur einfache Hashes abbilden kann.
Quote
oder aber, wenn man komplexe Strukturen braucht, sollte man etwas nehmen, was trotzdem halbwegs kompatibel, standardkonform und möglichst generisch ist -- schließlich kann es sein, dass man die Daten aus irgendeinem Grund mal nicht mit dem Programm, für das sie ursprünglich gedacht waren, verarbeiten will.

Leider gibt es da zwei Marschrichtungen: man will es besonders schnell haben und legt nicht auf Menschenlesbarkeit Wert, dann nimmt man Storable. Oder man will es menschenlesbar haben, dann nimmt man Data::Dumper. Leider muss man hier beim Rückumwandeln eval() verwenden --- nicht sehr sicher. Auch sind manche Leute der Meinung, dass Perl nicht so lesbar ist wie, sagen wir mal, YAML. Und Perl ist nicht portabel. Auch deshalb gibt es YAML.

Quote
Es bietet sich da eigentlich fast nur XML an. XML ist zwar schlecht designt, extrem hässlich, speicherineffizient und ich mag es überhaupt nicht -- aber es ist im Moment einfach der Standard. Da gibt es für fast jede noch so exotische Programmiersprache oder Anwendung einen Parser.

Das Problem ist: man kann Perl-Datenstrukturen nicht 1:1 nach XML und umgekehrt umwandeln. OK, man kann schon, aber dann sehen die Strukturen hässlich aus. Guck dir mal an, wie XML::Simple versucht, die Serialisierung hinzubekommen, und wieviele Optionen man einschalten muss, um das gewünschte Format zu bekommen.

Leider hat noch niemand XML::Simple::Schema geschrieben...
Quote
In der Welt der Lispdialekte, in der ich mich oft bewege, kann man dann natürlich noch ganz portabel S-Expressions zur Serialisierung nehmen. Kann mehr als XML, ist aber einfacher und speichereffizienter. Keine Ahnung, ob es dafür ein Perlmodul gibt, aber es ist auch (leider) nicht so verbreitet unter Leuten, die kein Scheme, Common Lisp oder ähnliches programmieren.

-> JSON. Das ist portabel (für viele Sprachen anwendbar), nicht ganz so lesbar wie YAML, aber dafür viel einfacher gestrickt.

View full thread Variablen zentral in einer ini Datei verwalten