Zwergmoos: Perl Hash Join - Hash in String wandeln

Beitrag lesen

Hallo Forumler,

ich kriege es einfach nicht hin einen Hash in einen einfachen String umzuwandeln. Mein Hash schaut so aus:

$VAR1 = {  
   '1' => {  
      'name' => 'disk01',  
      'type' => 'daten'  
   },  
   '0' => {  
      'name' => 'disk02',  
      'type' => 'musik'  
   }  
};

Herauskommen soll ein String der so aussieht:

name=disk01,type=daten|name=disk02,type=musik

Dazu habe ich mir eine Funktion gebaut:

sub joinMe {  
    my ( $self, $options ) = @_;  
    my $joined;  
    foreach my $k (keys %{$options}){  
        $joined .= join("=",$options->{$k});  
    }  
    return $joined;  
}  
  
print Dumper($self->joinMe($meinhash));

Als Rückgabe erhalte ich einen String mit den Referenzen:

HASH(0x16a2fb0)HASH(0x16a2f08)

Ich komme da nicht wirklich weiter, vermutlich steckt mein Fehler in der Foreachschleife, weil er mir "$options->{$k}" nicht als String zusammensetzt.

Sieht hier jemand was ich da verbockt habe?

Ich würde mich freuen wenn mir jemand einen Tipp geben kann.

Danke und Gruß!

--
Urlaub vom PC findet Ihr an der Ostsee ;)