Schrift
[thread]11530[/thread]

arrays und hashes mixen, korrekte initialisierung



<< >> 3 Einträge, 1 Seite
Gast Gast
 2008-03-27 15:44
#107552 #107552
Hallo miteinander,

ich schreibe ein Script welches div. eigenschaften 2er Datenbanken vergleicht.

folgendes steht in einer funktion, $type ist entweder local oder remote.
in einer while schleife, welche einen mysql show table status befehl zeilenweise abarbeitet habe ich folgendes problem:

@{$table_rows{$type}}[$table_counter{$type}] = $rows;


$table_counter{$type} wird am ende der while schleife per ++ hochgezählt.


das ganze script funktioniert auch wunderbar, allerdings bekomme ich wo immer ich werte in diese ja doch recht komplexe datenstruktur einfüge die fehlermeldung
"Use of uninitialized value in array slice at"
use strict ist aktiv, initialisiert habe ich folgendes:
my %table_rows;
my %table_counter;
global, sowie den $type innerhalb der funktion.

was genau übersehe ich, an welcher stelle fehlt die initialisierung?

dank & grüße, Moritz
renee
 2008-03-27 15:51
#107553 #107553
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Lass Dir doch mal alle Werte ausgeben, um zu sehen *welche* Variable da nicht initialisiert ist.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-03-27 16:01
#107554 #107554
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Warum machst Du eigentlich nicht

push @{ $table_rows{$type} }, $rows? Da Du ja inkrementierst, gibt es wohl keine "Lücken" im Array. Somit dürfte push die bessere Wahl sein. Und Du sparst Dir den zusätzlichen Hash.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 3 Einträge, 1 Seite



View all threads created 2008-03-27 15:44.