Thread Array als Keys im Hash nutzen (8 answers)
Opened by Hagen at 2019-02-13 10:34

Hagen
 2019-02-13 10:34
#189773 #189773
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Hallo,

irgendwie komme ich gerade auf keine Lösung und meine Recherche im www war bisher erfolglos ... vermutlich ist die Lösung mal wieder ganz einfach :-)

Ich möchte die Werte eines Array als Keys in einem Hash benutzen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl

use strict;
use Data::Dumper;

my @keys = ('level1_1', 'level2_1', 'level3_1');

my %hash = ();
$hash{data}{@keys} = 'test';

print "Dumper: '".Dumper(\%hash)."'<br>\n";
   


So funktioniert das natürlich nicht, mir fällt aber gerade nichts sinnvolles mehr ein. Ziel wäre

Code (perl): (dl )
$hash{data}{level1_1}{level2_1}{level3_1} = 'test'


Die Länge des Key-Array ist vorher nicht bekannt; evtl. ist der Hash schon (teilweise) definiert
Code (perl): (dl )
$hash{data}{level1_2} = 'test alt'
das sollte natürlich nicht überschrieben werden.

Letztendlich soll das eine Funktion werden, die eine Hash-Struktur beschreibt bzw ergänzt und eine zweite, die das ausliest.

Einfacher wäre es natürlich einen Key zu erzeugen
Code (perl): (dl )
$hash{data}{join('#', @keys)} = 'test';
das passt aber leider nicht zur der Verarbeitung in anderen Bereichen.
Gruß
Hagen

View full thread Array als Keys im Hash nutzen