--- loncom/lonr 2014/10/30 19:09:06 1.7 +++ loncom/lonr 2014/11/13 20:09:08 1.8 @@ -3,7 +3,7 @@ # The LearningOnline Network with CAPA # Connect to R CAS # -# $Id: lonr,v 1.7 2014/10/30 19:09:06 raeburn Exp $ +# $Id: lonr,v 1.8 2014/11/13 20:09:08 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -317,10 +317,15 @@ sub make_new_child { my ($command)=@_; $counter++; my $expect=$counter; - print $command "$expect;\n"; + if (length($expect) > 10) { + $counter = 1; + $expect = $counter; + } + print $command "print($expect,digits=10);\n"; while (1) { my $output=&getroutput($command); - if (($output=~/\Q$expect\E/) || ($output=~/^Error\:/)) { + chomp($output); + if (($output=~/^\Q$expect\E/) || ($output=~/^Error\:/)) { return; } } @@ -352,7 +357,7 @@ sub getroutput { foreach my $line (split(/\n/,$output)) { $line=~s/\s$//gs; if ($line=~/^Error\:/) { $syntaxerr=1; next; } - if (my ($result)=($line=~/^\[?\d+\,*\]?\s*(.*)/)) { $realoutput.=$result."\n"; } + if (my ($result)=($line=~/^\s*\[\d+\]\s*(.*)/)) { $realoutput.=$result."\n"; } } if (wantarray) { return ($realoutput,$syntaxerr);