monoswim escribiste:Hola Lorena, te comento que la cookie una vez que la mandas correctamente debería funcionarte para todos los .pl del sitio...Te digo lo de correctamente porque hay muchas formas de mandar una cookie al navegador, y depende de como la hayas configurado...Con el Location no deberías tener problemas siempre y cuando sea una página del mismo sitio...
http://perlenespanol.com/archives-tut/000047.html#moreAcá tenés un tutorial que te explica que parámetros podés mandarle a la cookie y a continuación te doy un ejemplo de una cookie que yo usé para trabajar con sesiones y trabaja perfectamente...
print qq~Set-Cookie: usuario=juanito; path=/;\n~;
Esa simple cookie sigue viva mientras el usuario tenga abierto el navegador, y te funciona para todos los scripts que haya en el servidor, puede navegar tranquilamente...
Para leer las cookies lo tenés explicado en el tutorial...
Saludos
Bueno, no he checado el tutorial... pero la solución que tiene Lorena es la correcta, y la tuya no es incorrecta, pero no es lo mejor, Tener código "hardcodeado", es decir, poner todo a mano no es lo mejor... si estás usando CGI.pm, por qué no dejar que se encargue de todo, tal como lo hace Lorena? De esa manera es portable y correcto ( y mucho mas sencillo de leer ).
Lorena tu problema radica en que bueno... al establecer la cookie con header(), le estás indicando efectivamente un encabezado HTTP, que contiene aparte de lo demás, la directiva Set-Cookie, por lo tanto al exponer "Location", estas intentando reescribir el header ya antes mandado ( Location es parte del header ), y eso te causa error.
Ahora bien, para "extraer" el valor de una cookie, basta con llamar:
- Código: Seleccionar todo
# valor es lo que contiene el atributo -value al establecer la Cookie
$value = cookie( 'valor' );
Esta información y más al respecto la puedes obtener de la página de documentación de CGI.pm en el apartado de HTTP Cookies, y también te recomiendo que cheques el módulo CGI::Cookies.
Saludos,