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;
Das Problem ist, du erstellst keine Referenz auf $daten{$masch}, um $daten{$masch}->{$varname} zu nutzen musst du erst eine Hashreferenz erzeugen.
`$daten{$masch} = {} unless $daten{$masch};`{:.language-perl}
Struppi.