use warnings;

use Data::Dumper;
use YAML;
use Storable qw/nstore/;

my @a = ('a', 'b', 'c');
my @b = qw/a b c d e/;

my $teilnehmer = {
   Mark     => {jahr => 1975, groesse => 175, bildung => [qw/vs ahs uni/]},
   Sigi     => {jahr => 1960, groesse => 180},
   Rene     => {jahr => 1983, groesse => 183},
   Bernhard => {jahr => 1975},
   Markus   => {jahr => 1974, bildung => [qw/vs ahs/]},
   Peter    => {jahr => 1981},
   Stephan  => {jahr => 1976},
};

YAML::DumpFile('tn.yaml', $teilnehmer);
nstore($teilnehmer, 'tn.store');

my @alter_teilnehmer =
   sort { $teilnehmer->{$a}->{jahr} <=> $teilnehmer->{$b}->{jahr} }
   keys %$teilnehmer;

push @{$teilnehmer->{Markus}->{bildung}}, 'fh';
## foreach my $name (keys  %$teilnehmer) {
foreach my $name (@alter_teilnehmer) {
  print "$name \n";
  next unless ref $teilnehmer->{$name};
  next unless ref $teilnehmer->{$name}->{bildung};
  printf "%s\n", " @{$teilnehmer->{$name}->{bildung}} ";
}