#!/usr/bin/perl
print "Content-type: text/html\n\n";
# Get Query Variables see parseform.pl for comments
$buffer = $ENV{"QUERY_STRING"};
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($nume, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$query{$nume} = $value;
}
#foreach $dog(sort keys %query){
#print "$dog: $query{$dog}
\n";
#}
$pid = $query{pid};
$process = $pid;
$pid1 = $query{pid};
$pid2 = ($query{pid} + 1);
$start = $query{topfrom};
$end = $query{topto};
$region = "Region";
print "ID's: $pid, $pid1, $pid2";
$data1 = "/usr/local/jail/www/htdocs/tmpgif/riverout" . $pid1 . ".dat";
$data2 = "/usr/local/jail/www/htdocs/tmpgif/riverbout" . $pid1 . ".dat";
$data3 = "/usr/local/jail/www/htdocs/tmpgif/riverout" . $pid2 . ".dat";
$data4 = "/usr/local/jail/www/htdocs/tmpgif/riverbout" . $pid2 . ".dat";
# open the first two datafiles and read into new array
open (DATA1, "<$data1") || die " couldn't open file $data1: $!";
while (){
chop;
push @data1, $_;
}
close (DATA1);
open (DATA2, "<$data3") || die " couldn't open file $data3: $!";
while (){
chop;
push @data2, $_;
}
close (DATA2);
if ($query{changed} == 1){
open (DATA3, "<$data2") || die " couldn't open file $data2: $!";
while (){
chop;
push @data3, $_;
}
close (DATA3);
open (DATA4, "<$data4") || die " couldn't open file $data4: $!";
while (){
chop;
push @data4, $_;
}
close (DATA4);
}
$scatter1 = "/tmp/scatter1" . $pid . ".dat";
open (SCATTER1, ">$scatter1") || die "couldn't open file $scatter1: $!";
while ($i <= $#data1){
# print "Data: $i $data1[$i] $data2[$i]\n
";
print SCATTER1 "$data2[$i] $data1[$i]\n";
$i++;
}
close (SCATTER1);
$i = 0;
$scatter2 = "/tmp/scatter2" . $pid2 . ".dat";
open (SCATTER2, ">$scatter2") || die "couldn't open file $scatter2: $!";
while ($i <= $#data3){
# print "Data: $i $data3[$i] $data4[$i]\n
";
print SCATTER2 "$data3[$i] $data4[$i]\n";
$i++;
}
close (SCATTER2);
# print datafile to tmp directory
# if 2nd datafiles exist,
# open the second two datafiles and read into new array
# print 2nd datafile to tmp directory
# call gnuplot
# remove files in tmp
$gnuplot = "/usr/local/bin/gnuplot";
$ppmtogif = "/usr/local/bin/ppmtogif";
open (WRITEME, "| $gnuplot");
print WRITEME "set terminal pbm small color\n";
print WRITEME "set output \"/tmp/riverscatter$process.pbm\"\n";
system ("chmod 0666 /tmp/riverscatter$process.pbm");
print WRITEME "set size .5,.5\n";
print WRITEME "set autoscale\n";
# print WRITEME "test\n";
# print WRITEME "set nokey\n";
# print WRITEME "set key outside below\n";
print WRITEME "set xlabel \"Days in Year\"\n";
print WRITEME "set timestamp top rotate\n";
# print WRITEME "set xrange [$start:$end] \n";
# print WRITEME "set yrange [0:10] \n";
print WRITEME "set title \"$region\"\n";
print WRITEME
"plot \"$scatter1\" title \"Original\" w points lt 7 ps .5, ";
# print WRITEME
"\"$scatter2\" title \"Best_Management\" w points lt 9\n";
print WRITEME "exit\n";
close (WRITEME);
system ("$ppmtogif < /tmp/riverscatter$process.pbm > /tmp/riverscatter$pid.gif");
system ("mv /tmp/riverscatter$pid.gif /usr/local/jail/www/htdocs/tmpgif/");
# system ("rm $scatter2");
system ("rm /tmp/riverscatter$pid.pbm");
system ("rm $scatter1");
$gif = ("riverscatter" . $pid . ".gif");
print <<"HTML";
Scatter Plot: a vs b
The Image....
HTML
# print "Location: $graphic\n\n";