Re: Can't use an undefined value as a HASH reference at
Publicado: 2013-04-26 05:18 @262
Pero... ¿cómo sabes que, cada vez que haces un dump, estás sacando el mismo objeto CGI? Si dices que de uno a otro desaparece una entrada en el hash, yo apuesto a que no son el mismo objeto. ¿Por qué? Pues porque en todo el código de CGI.pm no hay ni una sola línea en la que se borre la entrada '.tmpfiles'.
Hay una manera de confimarlo: edita el archivo CGI.pm. Busca por sub new, que es el método que se ejecuta cada vez que se crea un objeto CGI. Y al principio de ese método pones una línea así:
A partir de ese momento, ese texto saldrá en el error.log por cada objeto CGI que se cree (también puedes usar algún otro método de registro). Y estarás seguro de cuántos objetos se crean y cuando.
Entonces, el objetivo es reducir la creación de esos objetos, y si es posible, reducirlos a uno solo. Si es UploadEasy exige ser el primero en ejecutarse, para descargarse los archivos, pues una vez que ha terminado le pides que te dé el objeto CGI que ha usado, y lo reusas para CGI::Application.
Hay una manera de confimarlo: edita el archivo CGI.pm. Busca por sub new, que es el método que se ejecuta cada vez que se crea un objeto CGI. Y al principio de ese método pones una línea así:
Using perl Syntax Highlighting
- warn "Creación de un objeto CGI";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
A partir de ese momento, ese texto saldrá en el error.log por cada objeto CGI que se cree (también puedes usar algún otro método de registro). Y estarás seguro de cuántos objetos se crean y cuando.
Entonces, el objetivo es reducir la creación de esos objetos, y si es posible, reducirlos a uno solo. Si es UploadEasy exige ser el primero en ejecutarse, para descargarse los archivos, pues una vez que ha terminado le pides que te dé el objeto CGI que ha usado, y lo reusas para CGI::Application.