Schrift
[thread]8845[/thread]

Welches Config:: Modul am sinnvollsten?: Konfigurationen lesen/schreiben

Leser: 2


<< |< 1 2 >| >> 20 Einträge, 2 Seiten
GwenDragon
 2007-03-15 17:41
#75066 #75066
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ich wollte hier mal für mich und andere einen Übersichtsthread posten.
Und im Wiki ist auch eine Übersicht unter Wiki:Empfehlungen für Config

Cpan gibt ja so einiges her, um Konfigurationsdateien zu scannen und zu schreiben.

Ganz Faule verwenden natürlich ein Perlskript und rufen es per do "" auf ;)
Allerdings nichts für andere Leute, die nur mal eben die Konfiguration ohne irgendein GUI ändern wollen.

Ich hatte früher mal CPAN:Config::IniFiles verwendet. Das ist aber nicht sehr flexibel.

Ich habe derzeit sowieso CPAN:Config::General im Blick, weil es mit der umfangreichen Möglichkeit, nicht nur INI-Stil sondern auch XML-Stil zu arbeiten.

Welche würdet ihr noch empfehlen?\n\n

<!--EDIT|GwenDragon|1173977075-->
bloonix
 2007-03-15 17:50
#75067 #75067
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo Gwen,

CPAN:Config::Properties ist ein tolles Modul. Ich nutze es derzeit als einziges Config::* Modul.

Was mir an dem Modul so gut gefällt ist zum Beispiel:

Config file
Code: (dl )
1
2
3
key1.key2.key3 = value1
key1.key3.key4 = value2
key2.key4.key6 = value3


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use warnings;
use Config::Properties;
use Data::Dumper;

my $file = 'test.cfg';

open my $fh, '<', $file or die "Unable to open $file ($!)";
my $properties = Config::Properties->new();
$properties->load($fh);
my $config = $properties->splitToTree(qr/\./);
close $fh;

print Dumper($config);


Output

$VAR1 = {
         'key2' => {
                     'key4' => {
                                 'key6' => 'value3'
                               }
                   },
         'key1' => {
                     'key2' => {
                                 'key3' => 'value1'
                               },
                     'key3' => {
                                 'key4' => 'value2'
                               }
                   }
       };


Gruss,
opi\n\n

<!--EDIT|opi|1173973890-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
renee
 2007-03-15 18:18
#75068 #75068
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
CPAN:Config::Any... Damit kann mit minimalen Änderungen von einem Format zum Anderen wechseln...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
format_c
 2007-03-15 23:10
#75069 #75069
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich find CPAN:Config::General noch gut.
Gruß Alex
nepos
 2007-03-15 23:24
#75070 #75070
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Benutze auch meistens CPAN:Config::General, wenn ich da mehr als nur simple Sachen brauche.
ptk
 2007-03-16 00:29
#75071 #75071
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
YAML. Es ist standardisiert, es kann für einfache key-value-Paare verwendet werden, aber man kann auch unproblematisch tiefe Datenstrukturen verwenden. Man kann ein Schema für seine Konfigurationsdateien mit CPAN:Kwalify definieren (wobei es Kwalify eigentlich egal ist, ob es YAML, JSON, oder irgendetwas anderes ist, was sich als Perl-Datenstruktur ausdrücken lässt). Bei der Implementation ziehe ich zurzeit CPAN:YAML::Syck vor, CPAN:YAML hat leider noch zu viele Probleme. CPAN:YAML::Tiny kenne ich nicht, sollte aber für die meisten Fälle ebenfalls ausreichen.

Alles andere dürfte wahrscheinlich nur ein müder Abklatsch sein :-)
weismat
 2007-03-16 09:10
#75072 #75072
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Ich benutze CPAN:Config::Auto - liegt auch daran, daß ich das gleiche Programm mit verschiedenen Config-Files benutze und dann mit mehreren Links auf ein Skript arbeite - hat vor allem den Vorteil, daß man leichter das Skript in der Taskliste findet, wenn man ein top macht oder das Skript in Debug setzt...



//Modedit Gwendragon: CPAN-Tag hinzugefügt\n\n

<!--EDIT|GwenDragon|1174043809-->
renee
 2007-03-16 10:58
#75073 #75073
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
CPAN:YAML::Tiny ist ziemlich gut - jedenfalls für die Fälle für die ich es brauche. So richtig auf Herz und Nieren getestet habe ich es noch nicht.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
GwenDragon
 2007-03-16 13:20
#75074 #75074
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Ich fand leider heraus, dass so manches Modul Kommentare ignoriert und damit nicht mehr die ganze Konfigurationsdatei sichert sondern nur die Daten.

Es gibt wohl kein Modul, das die Struktur der Konfigurationsdatei erhält, oder?
betterworld
 2007-03-16 18:09
#75075 #75075
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=ptk,15.03.2007, 23:29]CPAN:YAML hat leider noch zu viele Probleme.[/quote]
Welche denn eigentlich?
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2007-03-15 17:41.