#!/usr/bin/perl use strict; use warnings; use Config::Simple; use Data::Dumper; my $conf=LoadConfig('simple.conf'); my $VAR1=GetKeyResult($conf,'param_a'); my $VAR2=GetKeyResult($conf,'param_b'); my $VAR3=GetKeyResult($conf,'param_a','SECTION_A'); print Dumper($VAR1,$VAR2,$VAR3); sub LoadConfig { my $file=shift; my $conf={}; Config::Simple->import_from($file,$conf) or die Config::Simple->error(); return $conf; } sub GetKeyResult { my $conf=shift; my $key=shift; my $section=shift || 'default'; # ist ein key vorhanden? return [] unless($key); # ist der config-Hash definiert? return [] unless($conf && ref($conf) eq 'HASH'); # gibt es den Eintrag? return [] unless(exists($conf->{"$section.$key"})); # wert holen my $val=$conf->{"$section.$key"}; # Ist es eine Arrayreferenz? wenn nicht in ein anonymes Array packen $val=[$val] unless(ref($val) eq 'ARRAY'); # wert zurückgeben return $val; }