Diff for /loncom/lonr between versions 1.10 and 1.11

version 1.10, 2014/11/16 15:35:27 version 1.11, 2014/11/16 17:41:53
Line 351  sub getroutput { Line 351  sub getroutput {
  return 'Error: '.$error;   return 'Error: '.$error;
     }      }
   
   #
   # Extract data from lines returned by R:
   #   including: (a) indexed output, e.g., line starts with [1] etc. (index excluded)
   #              (b) support for legacy use of &cas("R") to retreve matrix and data.frame
   #                  i.e., unserialized data, in which lines may begin [1,] or 1
   #                  respectively. The approved method for retrieving these types of
   #                  data is to use &cas_hashref(), which uses phpSerialize() to 
   #                  serialize the output (thereby eliminating the need for the second
   #                  regexp in the "elsif" when looping over the lines of output.
   #   excluding: echo of actual (final) expression originally passed to R excluded by 
   #              checking for trailing semicolon. 
   #
   
     my $realoutput='';      my $realoutput='';
     foreach my $line (split(/\n/,$output)) {      foreach my $line (split(/\n/,$output)) {
         $line=~s/\s$//gs;          $line=~s/\s$//gs;
         if ($line=~/^Error\:/) { $syntaxerr=1; next; }          if ($line=~/^Error\:/) { $syntaxerr=1; next; }
         if ($line=~ /\;$/) { next; }          if (my ($result)=($line=~/^\s*\[\d+\]\s*(.*)/)) {
         if (my ($result)=($line=~/^\s*\[?\d+\,?\]?\s*(.*)/)) { $realoutput.=$result."\n"; }              $realoutput.=$result."\n";
           } elsif (($line !~ /\;$/) && (my ($result)=($line=~/^(?:\[\d+\,\]|\d+)\s*(.*)/))) {
               $realoutput.=$result."\n";
           }
     }      }
     if (wantarray) {      if (wantarray) {
         return ($realoutput,$syntaxerr);          return ($realoutput,$syntaxerr);

Removed from v.1.10  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>