my %sortiert; for my $key ( keys %daten ) { $sortiert{ $daten{$key}->{'01'} }->{$key} = { protokoll => $daten{$key}->{'02'}, bemerkung => $daten{$key}->{'03'}, } } use Data::Dumper; print Dumper \%sortiert;