Thread Kurze Frage zu Hash in Hash (9 answers)
Opened by Lightman at 2007-02-14 17:10

Lightman
 2007-02-14 17:28
#74329 #74329
User since
2007-01-31
57 Artikel
BenutzerIn
[default_avatar]
Der Konstruktor:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub new {
   my ($class, %args) = @_;

   $args{path} = $ENV{HOME} . "/www/" unless defined $args{path};

   my $self = bless {
       _file   => $args{file},
       _path   => $args{path},
       _config => {},
   }, $class;

   return $self;
}


Und hier die Methode:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub open_file {
   my ($self) = @_;

   # ...

   while (<CONFIG>) {
       # ... (String-Bearbeitung)

       my ($var, $value) = split(/\s*=\s*/, $_, 2);
       $self->{_config}->{$var} = $value;
   }

   # ...
}


Und der Aufruf in meiner "test.cgi":
Code: (dl )
1
2
3
4
5
6
7
my $config = Configuration->new(file => "config",
                                path => "./");

$config->open_file();
my %hash = $config->get_config();

print $hash{server};


Die Datei wird geladen, aber die Zuweisung klappt nicht. Weshalb print nicht funktioniert (Use of uninitialized value in print). get_config liefert nur _config zurück.

View full thread Kurze Frage zu Hash in Hash