use Data::Dumper; use strict; my @computer = ""; my $gruppen; my %daten; my $key; my $i = 0; open (INFILE, 'list.txt') or die "Could not open infile !!!"; while(){ chomp $_; if($_ =~ /Gruppe/){ if($i == 0){ $gruppen = $_; } else{ $daten{$gruppen} = [@computer]; @computer = ""; $gruppen = $_; } } else{ push @computer, $_; } $i++; } $daten{$gruppen} = [@computer];