Use strict everywhere and fix one error that it revealed.
[picture-display.git] / lib / Display / Config.pm
1 package Display::Config;
2
3 use Carp;
4 use Config::Auto qw/find_file/;
5 use FindBin qw/$Bin/;
6 use YAML::Syck;
7
8 use constant config_file => "Display.yml";
9
10 sub new {
11   my $proto = shift;
12   my $class = ref($proto) || $proto;
13
14   my $self = {};
15
16   my $config = Config::Auto::find_file(config_file(), "$Bin/../etc");
17   if (! config || $config eq "") {
18     croak "Failed to find a config file.  Looking for ". config_file() . ".";
19   }
20
21   warn "Loading $config\n";
22   my $conf = eval { LoadFile $config };
23   if ($@) {
24     croak "Failed to load config file: $config, error: $@";
25   }
26
27   $self->{_config} = $conf;
28
29   bless ($self, $class);
30   return $self;
31 }
32
33 1;