Can't use an undefined value as a HASH reference at libs/CGI/UploadEasy.pm line 208.
pero solamente me sale cuando lo llamo dentro de un método de cgi-app, básicamente si uso un fichero sencillo de Perl para hacer el upload no tengo problema pero más o menos mi forma de hacer el llamado es así.
Tengo un MyBase.pm con el método
Using perl Syntax Highlighting
- sub uploadFile {
- my $self = shift;
- my $path = shift;
- eval { mkdir $self->cfg('upload_dir') . "/$path"; };
- my $ue = CGI::UploadEasy->new( -uploaddir => $self->cfg('upload_dir') . "/$path" );
- my $info = $ue->fileinfo; #obtiene las imágenes subidas
- my @names = keys %$info;
- return @names;
- }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Tengo un fichero user.pm que usa como base el MyBase.pm y el método que llama el action del form es
Using perl Syntax Highlighting
- sub user_upload_profile_image {
- my $self = shift;
- my $dbh = $self->dbh;
- my $system = MyApp::Db::System->new($dbh);
- my $user = MyApp::Db::Usuario->new($dbh);
- my $image = MyApp::Db::Imagen->new($dbh);
- my $username = $self->authen->username;
- $username = $self->session->param('username') if !$username;
- my $profileImage = $self->uploadFile( $self->fecha_actual ); #aquí se daña la cosa
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
lo más curioso del caso es que estos métodos los uso desde hace varios meses ya para varios sitios que tengo y el upload me funciona bien, y no entiendo por qué ahora tengo ese error...
El módulo en CPAN dice algo como:
No CGI object may be created before the CGI::UploadEasy object has been created, or else the upload will fail. Likewise, if you import method names from CGI.pm, be careful not to call any CGI functions before the creation of the CGI::UploadEasy object.
Eso es todo... llevo ya muchas horas con este error.