#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %HoH = ( student1 => { quiz => "result", exam => "result", final => "result", }, student2 => { quiz => "result", exam => "result", final => "result", }, student3 => { quiz => "result", exam => "result", final => "result", }, ); print Dumper \%HoH; __END__ $ perl test.pl $VAR1 = { 'student3' => { 'quiz' => 'result', 'final' => 'result', 'exam' => 'result' }, 'student1' => { 'final' => 'result', 'quiz' => 'result', 'exam' => 'result' }, 'student2' => { 'exam' => 'result', 'quiz' => 'result', 'final' => 'result' } };