$available_data{'02'}{'03'} = {unit => '02', lesson => '03', next => undef}; $available_data{'02'}{'05'} = {unit => '02', lesson => '05', next => undef}; $available_data{'02'}{'03'}{next} = $available_data{'02'}{'05'}; $available_data{'02'}{'11'} = {unit => '02', lesson => '11', next => undef}; $available_data{'02'}{'05'}{next} = $available_data{'02'}{'11'}; etc... #### $ref = $available_data{$unit}{$lesson}; print "Unit: $unit, lesson: $lesson -> Unit: ", $ref->{unit}, ' lesson: ', $ref->{lesson}; #### my @available_data; push @available_data, {unit => '02', lesson => '03'}; push @available_data, {unit => '02', lesson => '05'}; push @available_data, {unit => '02', lesson => '11'}; push @available_data, {unit => '03', lesson => '02'};