Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Perl: durch komplexen Hash iterieren (Referenzen!)

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.09.2004
    Ort
    Mannheim
    Beiträge
    102

    Unhappy Perl: durch komplexen Hash iterieren (Referenzen!)

    Hi, ich bin verzweifelt! Und zu blöd vermutlich.

    Ich habe aus XML::Simple eine Datenstruktur $ref-> hier mit Data:umper ausgegegeben.
    PHP-Code:
    $VAR1 = {
              
    'photos' => {
                          
    'page' => '1',
                          
    'photo' => {
                                     
    '24257747591' => {
                                                     
    'owner' => '258306934@N06',
                                                     
    'isfriend' => '1',
                                                     
    'ispublic' => '0',
                                                     
    'secret' => '6dxxxxc553',
                                                     
    'farm' => '3',
                                                     
    'server' => '2293',
                                                     
    'title' => 'DSCF0049',
                                                     
    'isfamily' => '0'
                                                   
    },
                                     
    '24265886194' => {
                                                     
    'owner' => '258306934@N06',
                                                     
    'isfriend' => '1',
                                                     
    'ispublic' => '0',
                                                     
    'secret' => 'a53xxxx964',
                                                     
    'farm' => '3',
                                                     
    'server' => '2102',
                                                     
    'title' => 'DSCF0040',
                                                     
    'isfamily' => '0'
                                                   
    },
                                     
    '24257750595' => {
                                                     
    'owner' => '258306934@N06',
                                                     
    'isfriend' => '1',
                                                     
    'ispublic' => '0',
                                                     
    'secret' => '6exxxxx0ab',
                                                     
    'farm' => '3',
                                                     
    'server' => '2246',
                                                     
    'title' => 'DSCF0035',
                                                     
    'isfamily' => '0'
                                                   
    }
                                   },
                          
    'total' => '112',
                          
    'pages' => '12',
                          
    'perpage' => '10'
                        
    },
              
    'stat' => 'ok'
            
    }; 
    Ich will jetzt durch diesen Hash bestehend aus 3 Elementen
    '24257747591' => HASH
    '24265886194' => HASH
    '24257750595' => HASH
    iterieren.

    Diese Untertruktur sollte eigentlich "$ref->{photos}->{photo}" heißen. Dieser Ausdruck scheint eine Referenz zu sein und nicht vom Typ Hash.
    Jedenfalls kommt bei Schleifenversuchen wie
    PHP-Code:
    while (($key,$value) = each$ref->{photos}->{photo} )) {
        print 
    $key "\n";

    oder
    PHP-Code:
    for $id keys $ref->{photos}->{photo} ) {...} 
    die Fehlermeldung, dass each oder keys einen Hash erwartet.

    Wie dereferenziere ich denn hier? Ich bin auch gerne bereit, die Unterstruktur vorher in eine Hashvariable zu kopieren (Das ganze ist weder performance- noch speicherkritisch), aber auch das habe ich nicht hinbekommen.

    Danke im voraus.
    Gute Nacht
    Thomas
    Greetz
    Thomas
    - Jabber-IM: tschloss-at-gmail.com -

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.09.2004
    Ort
    Mannheim
    Beiträge
    102

    Gelöst

    Greetz
    Thomas
    - Jabber-IM: tschloss-at-gmail.com -

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •