-
Guillaume ROUSSE authoredGuillaume ROUSSE authored
Configuration.pm 684 B
package IdPAccountManager::Configuration;
use strict;
use warnings;
use English qw(-no_match_vars);
sub new {
my ($pkg) = shift;
my %args = @_;
die "missing argument 'file'" unless $args{file};
die "non-existing file $args{file}" unless -f $args{file};
die "non-readable file $args{file}" unless -r $args{file};
my $self = {};
my $handle;
open($handle, '<', $args{file}) or die "Failed to open $args{file}: $ERRNO";
while (my $line = <$handle>) {
next unless $line =~ /^(\S+)\s*=\s*(.+)$/;
my $key = $1;
my $val = $2;
$self->{$1} = $2;
}
close $handle;
bless $self, $pkg;
return $self;
}
1;