En CPAN hay módulos para usar gnuPlot, como por ejemplo
Chart::Gnuplot.
Si quieres hacerlo de forma directa, no te vale lo que has escrito. Si lo analizas bien, estas intentando ejecutar el gnuPlot y también sus propios comandos, pero el qx() lo que hace es abrir un shell cada vez. Para la primera llamada, ejecución del gnuPlot, sí que funcionará, pero no para el resto, ya que el shell no tiene ni idea de lo que son los comandos
set xlabel y demás.
Si, por ejemplo, supiéramos, que el gnuPlot es capaz de admitir comandos desde la entrada estándar, se podría abrir una tubería hacía él y enviarle los comandos, como hemos comentado ayer, en otro hilo:
Using perl Syntax Highlighting
open my $gnuplot, q[|], '/usr/local/bin/gnuplot/'
or die "ERROR: no puedo arrancar gnuPlot: $!\n";
print $gnuplot qq(
set xlabel
"Hora"
set ylabel
"Paquetes [%]"
set output
"/home/yo/test/loss1.png"
set title
"Paquete"
set term png size 480
,360
set xdata
time
set timefmt
"%H:%M" #%b-%d-%H:%M:%S"
set style line
1 lw
1 pt
3
set style line
2 lw
1 pt
9
plot
'/home/yo/test/loss.txt' using
1:2 with points t
'' ls 1
);
close $gnuplot;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Hummm... yo preferiría usar el módulo de CPAN...