Schrift
[thread]11817[/thread]

Variable wird nicht geupdatet



<< >> 5 Einträge, 1 Seite
H3llGhost
 2008-05-16 20:05
#109811 #109811
User since
2007-10-14
60 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

ich führe folgenden Code auf meinen Server aus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
                        %g_config_servers = ();
my $query = "
                            SELECT
                                    *
                            FROM
                                    hlstats_Servers
                    ";                                  #WHERE
                                                        #serverId='$g_servers{$s_addr}->{id}'
                    my $result = &doQuery($query);
                    if ($result)
                        {
                                my $hash_ref;
                                use Data::Dumper;
                                print Dumper \$result;
                         
                                # mit jedem Durchlauf gibt es eine neue Variable $hash_ref mit eigener Speicheradresse
                                while ( my $hash_ref = $result->fetchrow_hashref() ) {
                                # $hash_ref nicht dereferenzieren, weil wir einen AoH aufbauen; perldoc perldsc
                                        $g_config_servers[ $hash_ref->{'AddressPort'} ] = $hash_ref;
                                }
                                $result->finish;

                                print Dumper \%g_config_servers;
                                &setServer($s_addr);
                        } else
                        {
                                $result->finish;
                                delete $g_servers{$s_addr};
                                next;
                        }


Nur leider aktualisiert er die Werte in der $g_config_servers nicht ...
Ich habe schon einiges probiert, aber ich bekomme es einfach nicht hin ...
Habt ihr eine Idee?
Struppi
 2008-05-16 20:28
#109814 #109814
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Dann ist deine Abfrage falsch. Was anderes läßt sich so nicht sagen.
Linuxer
 2008-05-16 20:49
#109816 #109816
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
in Zeile 1 ist es ein Hash:

%g_config_servers = ();

in Zeile 19 ist es ein Array:

$g_config_servers[ $hash_ref->{'AddressPort'} ]

In Zeile 23 wieder ein Hash.

In Deinem Text ist es ein Skalar.


Wenn Du keinen Hinweis vom Perl-Interpreter bekommst, was an dem Code falsch ist, dann vermute ich mal, solltest Du "use strict;" und "use warnings;" in dem Skript verwenden.

Ansonsten gilt der zweite Satz aus Struppis Antwort.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
H3llGhost
 2008-05-16 22:42
#109819 #109819
User since
2007-10-14
60 Artikel
BenutzerIn
[default_avatar]
Mein Fehler lag darin, dass ich statt {}-Klammern []-Klammern genutzt habe ...

Danke für eure Mühe!
Dubu
 2008-05-17 02:27
#109826 #109826
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Und, wie Linuxer schon sagte, dass du kein "use strict" benutzt hast, welches dich auf den Fehler hingewiesen hätte. ;-)
<< >> 5 Einträge, 1 Seite



View all threads created 2008-05-16 20:05.