--- loncom/lonr 2014/11/13 20:09:08 1.8 +++ loncom/lonr 2014/11/16 02:10:41 1.9 @@ -3,7 +3,7 @@ # The LearningOnline Network with CAPA # Connect to R CAS # -# $Id: lonr,v 1.8 2014/11/13 20:09:08 raeburn Exp $ +# $Id: lonr,v 1.9 2014/11/16 02:10:41 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -316,12 +316,12 @@ sub make_new_child { sub sync { my ($command)=@_; $counter++; - my $expect=$counter; - if (length($expect) > 10) { + my $digits = length($counter); + if ($digits > 10) { $counter = 1; - $expect = $counter; } - print $command "print($expect,digits=10);\n"; + my $expect=$counter; + print $command "print($expect,digits=$digits);\n"; while (1) { my $output=&getroutput($command); chomp($output); @@ -351,13 +351,12 @@ sub getroutput { return 'Error: '.$error; } - my $foundoutput=0; - my $found_label=0; my $realoutput=''; foreach my $line (split(/\n/,$output)) { $line=~s/\s$//gs; if ($line=~/^Error\:/) { $syntaxerr=1; next; } - if (my ($result)=($line=~/^\s*\[\d+\]\s*(.*)/)) { $realoutput.=$result."\n"; } + if ($line=~ /\;$/) { next; } + if (my ($result)=($line=~/^\s*\[?\d+\,?\]?\s*(.*)/)) { $realoutput.=$result."\n"; } } if (wantarray) { return ($realoutput,$syntaxerr);