En principio, no veo ningún fallo a la hora de crear la línea. Quizás usaría esta:
Using perl Syntax Highlighting
print qq(<form name
="forma1" method
="get" action
="http://10.26.6.15/cgi-bin/site/charts/economia.pl?vengo_de=paso1&cve=$cve_hom&clas=$clasif&date1=$date1&date2=$date2">);Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Cuando hagas la petición, mira lo que sucede en los archivos access.log/error.log del servidor web. Allí saldrá la petición real que está recibiendo el servidor.
O algo tan sencillo como redirigir la salida hacia un archivo, para ver si realmente generar lo que queremos.
¿Los valores almacenados en $cve_hom, $clasif, $date1 y $date2 están escapados? Ten en cuenta que al ser una petición GET, deben ser url-escapados, para que puedan ser admitidos por el servidor.
Una forma de estar seguros:
Using perl Syntax Highlighting
use URI::URL;
my $url = url('http://10.26.6.15/cgi-bin/site/charts/economia.pl');
$url->query_form(
vengo_de => 'paso1',
cve => $cve_hom,
clas => $clasif,
date1 => $date1,
date2 => $date2,
);
print qq(<form name="forma1" method="get" action="$url">);
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Lo que hacemos es crear el URL y luego le agregamos los parámetros. El método query_form() se encargará de escapar los caracteres peligrosos o extraños. (Sacado de la pregunta
How do I automate an HTML form submission? en perlfaq9).