From b4e446c21e299af0441ec44db7a86334980b77c2 Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Mon, 16 Mar 2015 19:20:40 +0100 Subject: Moved the tree accordingly --- lib/ManaTools/SettingsReader.pm | 101 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 lib/ManaTools/SettingsReader.pm (limited to 'lib/ManaTools/SettingsReader.pm') diff --git a/lib/ManaTools/SettingsReader.pm b/lib/ManaTools/SettingsReader.pm new file mode 100644 index 0000000..318aefd --- /dev/null +++ b/lib/ManaTools/SettingsReader.pm @@ -0,0 +1,101 @@ +# vim: set et ts=4 sw=4: +package ManaTools::SettingsReader; +#============================================================= -*-perl-*- + +=head1 NAME + +ManaTools::SettingsReader - This module allows to load an XML configuration file + +=head1 SYNOPSIS + + use ManaTools::SettingsReader; + + my $settings = new ManaTools::SettingsReader($fileName); + +=head1 DESCRIPTION + + This module allows to load a configuration file returning a Hash references with its content. + +=head1 SUPPORT + +You can find documentation for this module with the perldoc command: + +perldoc ManaTools::SettingsReader + +=head1 SEE ALSO + + XML::Simple + +=head1 AUTHOR + + Angelo Naselli + +=head1 COPYRIGHT and LICENSE + + Copyright (C) 2012-2015, Angelo Naselli. + + This file is part of ManaTools + + ManaTools is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + ManaTools is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ManaTools. If not, see . + +=head1 FUNCTIONS + +=cut + + +use strict; +use warnings; +use diagnostics; +use XML::Simple; +use Data::Dumper; + +#============================================================= + +=head2 new + +=head3 INPUT + + $fileName: File to be loaded + +=head3 OUTPUT + + $settings: Hash reference containing read settings + +=head3 DESCRIPTION + + The constructor just loads the given files and return its representation + into a hash reference. + +=cut + +#============================================================= + +sub new { + my ($class, $fileName) = @_; + + my $self = { + settings => 0, + }; + bless $self, 'ManaTools::SettingsReader'; + + die "File " . $fileName . " not found" if (! -e $fileName); + + my $xml = new XML::Simple (KeyAttr=>[]); + $self->{settings} = $xml->XMLin($fileName); + + return $self->{settings}; +} + + +1; -- cgit v1.2.1