Struppi: Hash dynaisch erzeugen

Beitrag lesen

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.