package Toupeira;

# $Id$

use strict;
use vars qw( $VERSION @ISA $AUTOLOAD );
use Exporter;
use Carp;

# apenas para debug
use Data::Dumper;

$VERSION = '0.1';
@ISA = qw( Exporter );

#########################################################################
# Configuration
#
my $HOMEDIR = "/home/tfp/FCUP/AR/trabalho";
#
#########################################################################
sub AUTOLOAD {
   my $s = shift;
   my $type = ref($s) or croak "$s is not an object";
   my $name = $AUTOLOAD; 
   $name =~ s/.*://; 

   if (@_) {
      if (exists($s->{$name})) {
         return $s->{$name} = shift;
      } else {
         return $s->{_fields}->{$name} = shift;
      }
    } else {
      if (exists($s->{$name})) {
         return $s->{$name};
      } else {
         return $s->{_fields}->{$name};
      }
    }
}

sub new {
   my $obj = shift;
   my $file = "$HOMEDIR/etc/toupeira.conf";
   my %opts = @_;
   my $result = \%opts;

   open(FD, $file) or die("Erro ao abrir o ficheiro de configuração: $file");
   while (<FD>) {
      next if ($_ =~ /\#.*/ || !($_ =~ /\=/));
      chomp($_);
      my ($par, $val) = split(/[= ]+/, $_);
      $result->{global}{config}{$par} = $val;
   }
   close(FD);

   return bless $result, $obj;
}

1;
__END__

