sub new { # Get our arguments my $type = shift; my ($quizName) = @_; my $self = {}; # Set instance variable containing # quiz name my $self->{"quizname"} = $quizName; # Set instance variable containing questions my @questions = (); my $self->{"questions"} = \@questions; bless $self; } sub loadFile { # Get ourselves my $self = shift; # Set some initial variables my @questions = (); my $counter = 0; # Open the questions file open (QUESTIONS, $questionDir . $self->{"quizname"}) || return "Could not open file for $self->{"$quizname"} "; # Loop through the question file while (<QUESTIONS>) { $line_number++; next if /^#/; # Ignore comment lines next unless /\w/; # Ignore whitespace lines chomp; # Split the line across tabs my @list = split(/\t/); # Check to make sure that there are six # fields if ($#list != 5) { # Return the line containing the error return "Error in line: \"$_\""; } else { # Add this question to our list $questions[$counter++] = $_; } close(QUESTIONS); # Now turn @questions into an # instance variable $self->{"questions"} = \@questions; # If there weren't problems, # then return 0 return 0; }