Perhaps the code could be as following:
Read file into variable
Split on (Quiz \d+.*?)============
into array @quizes
Loop over @quizes
and extract questions with (Question #\d+)(.*?)----
into hash
Push result into hash referenced with $quizes
variable
At this point you can access any Quiz and any Question of the quiz through index
NOTE: no test data provided by OP, an improvisation was taken for the code, Lorem Ipsum generator used to fill the content of the questions
use strict;
use warnings;
use feature 'say';
use Data::Dumper;
my $quizes;
my $data = do { local $/; <DATA> };
my @quizes = $data =~ /(Quiz \d+.*?)============/sg;
#say Dumper(\@quizes); exit;
for (@quizes) {
/(Quiz \d+)/gs;
my $id = $1;
my %questions;
%questions = $_ =~ /(Question #\d+)(.*?)----/sg;
push @{$quizes->{$id}}, \%questions;
}
say Dumper($quizes);
__DATA__
Please answer every question of following quizes:
Quiz 1
Question #1
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Eu scelerisque felis
imperdiet proin fermentum leo vel orci. Eget mi proin sed libero enim.
Pulvinar mattis nunc sed blandit libero volutpat sed cras ornare. Sit
amet cursus sit amet dictum sit. Nisi vitae suscipit tellus mauris a diam
maecenas sed. Elementum facilisis leo vel fringilla est ullamcorper eget nulla.
Duis convallis convallis tellus id interdum velit laoreet id. Sodales ut eu sem
integer vitae justo eget magna. Nisi vitae suscipit tellus mauris a diam maecenas
sed enim. Non pulvinar neque laoreet suspendisse interdum consectetur libero.
----
Question #2
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus in ornare
quam viverra orci sagittis eu volutpat odio. Eget nunc lobortis mattis
aliquam faucibus. Sit amet dictum sit amet justo donec enim diam. Vel
quam elementum pulvinar etiam non quam lacus suspendisse faucibus.
Neque vitae tempus quam pellentesque nec nam aliquam. Magna eget est
lorem ipsum dolor. Pellentesque habitant morbi tristique senectus et netus.
Erat imperdiet sed euismod nisi porta lorem mollis aliquam. Ut morbi tincidunt
augue interdum velit euismod. Feugiat in fermentum posuere urna nec. Donec
et odio pellentesque diam volutpat commodo sed egestas.
----
============
Quiz 2
Question #1
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus
in ornare quam viverra orci sagittis eu volutpat odio.
Eget nunc lobortis mattis aliquam faucibus. Sit amet dictum sit
amet justo donec enim diam. Vel quam elementum pulvinar etiam
non quam lacus suspendisse faucibus. Neque vitae tempus quam
pellentesque nec nam aliquam. Magna eget est lorem ipsum dolor.
Pellentesque habitant morbi tristique senectus et netus. Erat
imperdiet sed euismod nisi porta lorem mollis aliquam. Ut morbi
tincidunt augue interdum velit euismod. Feugiat in fermentum
posuere urna nec. Donec et odio pellentesque diam volutpat commodo
sed egestas.
----
Question #2
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus in ornare
quam viverra orci sagittis eu volutpat odio. Eget nunc lobortis mattis
aliquam faucibus. Sit amet dictum sit amet justo donec enim diam. Vel quam
elementum pulvinar etiam non quam lacus suspendisse faucibus. Neque vitae
tempus quam pellentesque nec nam aliquam. Magna eget est lorem ipsum dolor.
Pellentesque habitant morbi tristique senectus et netus. Erat imperdiet sed
euismod nisi porta lorem mollis aliquam. Ut morbi tincidunt augue interdum
velit euismod. Feugiat in fermentum posuere urna nec. Donec et odio
pellentesque diam volutpat commodo sed egestas.
----
============
Output
$VAR1 = {
'Quiz 1' => [
{
'Question #2' => '
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus in ornare
quam viverra orci sagittis eu volutpat odio. Eget nunc lobortis mattis
aliquam faucibus. Sit amet dictum sit amet justo donec enim diam. Vel
quam elementum pulvinar etiam non quam lacus suspendisse faucibus.
Neque vitae tempus quam pellentesque nec nam aliquam. Magna eget est
lorem ipsum dolor. Pellentesque habitant morbi tristique senectus et netus.
Erat imperdiet sed euismod nisi porta lorem mollis aliquam. Ut morbi tincidunt
augue interdum velit euismod. Feugiat in fermentum posuere urna nec. Donec
et odio pellentesque diam volutpat commodo sed egestas.
',
'Question #1' => '
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Eu scelerisque felis
imperdiet proin fermentum leo vel orci. Eget mi proin sed libero enim.
Pulvinar mattis nunc sed blandit libero volutpat sed cras ornare. Sit
amet cursus sit amet dictum sit. Nisi vitae suscipit tellus mauris a diam
maecenas sed. Elementum facilisis leo vel fringilla est ullamcorper eget nulla.
Duis convallis convallis tellus id interdum velit laoreet id. Sodales ut eu sem
integer vitae justo eget magna. Nisi vitae suscipit tellus mauris a diam maecenas
sed enim. Non pulvinar neque laoreet suspendisse interdum consectetur libero.
'
}
],
'Quiz 2' => [
{
'Question #1' => '
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus
in ornare quam viverra orci sagittis eu volutpat odio.
Eget nunc lobortis mattis aliquam faucibus. Sit amet dictum sit
amet justo donec enim diam. Vel quam elementum pulvinar etiam
non quam lacus suspendisse faucibus. Neque vitae tempus quam
pellentesque nec nam aliquam. Magna eget est lorem ipsum dolor.
Pellentesque habitant morbi tristique senectus et netus. Erat
imperdiet sed euismod nisi porta lorem mollis aliquam. Ut morbi
tincidunt augue interdum velit euismod. Feugiat in fermentum
posuere urna nec. Donec et odio pellentesque diam volutpat commodo
sed egestas.
',
'Question #2' => '
Accumsan lacus vel facilisis volutpat est velit egestas. Libero
nunc consequat interdum varius sit amet mattis. Feugiat in fermentum
posuere urna nec tincidunt praesent semper feugiat. Faucibus in ornare
quam viverra orci sagittis eu volutpat odio. Eget nunc lobortis mattis
aliquam faucibus. Sit amet dictum sit amet justo donec enim diam. Vel quam
elementum pulvinar etiam non quam lacus suspendisse faucibus. Neque vitae
tempus quam pellentesque nec nam aliquam. Magna eget est lorem ipsum dolor.
Pellentesque habitant morbi tristique senectus et netus. Erat imperdiet sed
euismod nisi porta lorem mollis aliquam. Ut morbi tincidunt augue interdum
velit euismod. Feugiat in fermentum posuere urna nec. Donec et odio
pellentesque diam volutpat commodo sed egestas.
'
}
]
};