Perl – Configfile auslesen

Veröffentlicht: Juli 13, 2016 in Perl
Schlagwörter:

perl-logoOftmals ist es am einfachsten die Konfiguration für ein Programm direkt im Code zu hinterlegen, etwas anders sieht es aus wenn auch Nicht-Programmierer Änderungen an der Config vornehmen müssen. An dieser Stelle soll kurz gezeigt werden wie man ein solches Configfile sehr einfach auslesen und verarbeiten kann.

Configfile
#hostname:ip=IP:user=Username
host1:ip=192.168.0.1:user=tocx
host2:ip=192.168.0.2:user=tocx
auslesen & verarbeiten des Configfiles
my $conf="Pfad zum File";
open $in,"<$conf" or die "Could not open $in, $!";
while ( <$in> ) {
    next if s/^#//;
    next unless s/^(.*?):\s*//;
    $host = $1;
    for $field ( split /:/) {
        ($key, $value) = split /=/, $field;
        $hosts{$host}{$key} = $value;
    }
}
Datenstruktur
  • als Datenstruktur wird ein Hashes of Hashes verwendet (Erstellung in Zeile 7-10)
  • visualisiert mittels GraphViz::Data::Grapher

Datenstruktur hosts

Verarbeitung der Daten
for my $host (keys %hosts) {
    my $ip = $hosts{$host}{ip};
    ..
}
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s