version 1.39, 2001/10/29 21:15:44
|
version 1.40, 2001/11/27 14:57:54
|
Line 101 sub get_array_args {
|
Line 101 sub get_array_args {
|
# do these first, because who knows what varname the instructor might have used |
# do these first, because who knows what varname the instructor might have used |
# but it probably isn't $CAPARESPONSE_CHECK_LIST_answer |
# but it probably isn't $CAPARESPONSE_CHECK_LIST_answer |
my $CAPARESPONSE_CHECK_LIST_answer = eval $expr.';return $'.$arg; #' |
my $CAPARESPONSE_CHECK_LIST_answer = eval $expr.';return $'.$arg; #' |
|
my $GET_ARRAY_ARGS_result; |
|
my @GET_ARRAY_ARGS_list; |
if ($CAPARESPONSE_CHECK_LIST_answer =~ /^\s*[\$\@]/) { |
if ($CAPARESPONSE_CHECK_LIST_answer =~ /^\s*[\$\@]/) { |
my (@list) = eval $CAPARESPONSE_CHECK_LIST_answer; |
(@GET_ARRAY_ARGS_list) = eval $CAPARESPONSE_CHECK_LIST_answer; |
} |
} |
my $result=''; |
$GET_ARRAY_ARGS_result.="error:$@:<br />"; |
$result.="error:$@:<br />"; |
|
# if the eval fails just use what is in the answer exactly |
# if the eval fails just use what is in the answer exactly |
if (!defined(@list) || !defined($list[0])) { |
if (!defined(@GET_ARRAY_ARGS_list) || !defined($GET_ARRAY_ARGS_list[0])) { |
$result.="list zero is undefined<br />"; |
$GET_ARRAY_ARGS_result.="list zero is undefined<br />"; |
$list[0]=$CAPARESPONSE_CHECK_LIST_answer; |
$GET_ARRAY_ARGS_list[0]=$CAPARESPONSE_CHECK_LIST_answer; |
} |
} |
return @list; |
return $GET_ARRAY_ARGS_result,@GET_ARRAY_ARGS_list; |
} |
} |
|
|
sub caparesponse_check_list { |
sub caparesponse_check_list { |
my ($response,$expr)=@_; |
my ($response,$expr)=@_; |
my (@list) = &get_array_args($expr,'answer'); |
my $result; |
|
my ($result,@list) = &get_array_args($expr,'answer'); |
my $aresult=''; |
my $aresult=''; |
my $current_answer; |
my $current_answer; |
my $answers=join(':',@list); |
my $answers=join(':',@list); |