in reply to foreach and hash of hashes

Change  keys $pupils{$class} to  keys %{$pupils{$class}}

Or you could do it like this:

push @namelist, keys %{$pupils{$class}};