version 1.8, 2002/02/28 21:02:32
|
version 1.17, 2020/02/19 18:53:17
|
Line 35 foreach (split/&/,$ENV{'QUERY_STRING'})
|
Line 35 foreach (split/&/,$ENV{'QUERY_STRING'})
|
$data{$name}=$value; |
$data{$name}=$value; |
} |
} |
my $filename = $data{'file'}; |
my $filename = $data{'file'}; |
|
# unescape filename |
|
$filename =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
die if ($filename =~ /\// || $filename !~ /_plot.data$/); |
die if ($filename =~ /\// || $filename !~ /_plot.data$/); |
$filename = $tmpdir . $filename; |
$filename = $tmpdir . $filename; |
die "$data{'file'} does not exist\n" if (! -e $filename); |
die "$data{'file'} does not exist\n" if (! -e $filename); |
|
|
my $output = $data{'output'}; |
my $output = $data{'output'}; |
if ($output eq 'gif') { |
if ($output eq '') { |
open PLOT, "gnuplot $filename |"; |
$output = (split('\.',$0))[-1]; |
print <<"END"; |
} |
Content-type: image/gif |
|
|
if ($output eq 'gif' || $output eq 'png') { |
|
if (open(my $plot, "export LANG='en_US.UTF-8'; gnuplot $filename |")) { |
|
|
|
print <<"END"; |
|
Content-type: image/$output |
|
|
END |
END |
while ($_=<PLOT>) { |
while (my $line = <$plot>) { |
print; |
print($line); |
|
} |
|
close($plot); |
|
} else { |
|
die "failed to open pipe to run gnuplot\n"; |
} |
} |
|
|
} elsif ($output eq 'eps') { |
} elsif ($output eq 'eps') { |
system ("gnuplot $filename"); |
print <<"END"; |
|
Content-type: text/html |
|
|
|
<html><head><title>eps plot creation</title></head> |
|
<body> |
|
<h2>Creating eps plot</h2> |
|
|
|
END |
|
if (! system ("export LANG='en_US.UTF-8'; gnuplot $filename")) { |
|
print "<h2>An error occurred.</h2>\n". |
|
"I am not going to tell you about it as I have not bothered ". |
|
"to figure out how to get you the error text.\n"; |
|
} else { |
|
print "<h2>EPS file generated successfully.</h2>\n"; |
|
} |
|
print "</body></html>\n"; |
} else { |
} else { |
die "output $output is not a recognized value or has no value\n"; |
die "output $output is not a recognized value or has no value\n"; |
} |
} |
|
|
|
|
|
|