for my $line (@array) { # alle 3 Variablen sind nun undef my ($key, $value1, $value2); # Zuweisung; eigentlich sollten alle 3 nun Werte haben # es sei denn, dass split kein Ergebnis liefern konnte ($key, $value1, $value2) = (split(/\s+/, $line))[0,4,7]; # wenn $value2 undef ist, dann fuege Leerstring ein push @{$hash{$key}}, [$value1, $value2 || '' ]; }