Hallo,
ich habe hier Probleme beim verwirklichen
Ich habe ein Hash das Referenzen auf andere Hash besitzt.
Diese Hash sind Speziell (Indexed)
tie my %daten, "Tie::Hash::Indexed" or die $!;
tie my %maschinen, "Tie::Hash::Indexed" or die $!;
my $mem_masch='';
($masch,$varname,$wert) = split(/;/,$_);
if ($mem_masch eq '') { $mem_masch = $masch; }
if ($masch eq $mem_masch)
{
$daten{$masch}{$varname} = $wert;
}
else
{
$maschinen{$counter} = ["foo","bar"];
$counter++;
$daten{$masch} = \$maschinen{$counter};
$daten{$masch}->{$varname} = $wert;
$mem_masch = $masch;
}
$daten{$masch}->{$varname} = $wert;
Erklärung: wenn $masch sich ändert dann soll ein neues Hash erzeugt werden und dessen Referenz auf das "Haupt" Hash geschreiben werden unter dem key $masch. Das spezielle Hash (Indexed) muss sein, wegen der Reihenfolge.
Der Interpreter mault "Not a HASH reference at ...." Zeile ""$daten{$masch}->{$varname} = $wert;""
.... und ich sehe es nicht.
Gruß
roger