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