• Publicidad

Errores en el log del apache

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Errores en el log del apache

Notapor josefog83 » 2006-11-20 07:51 @368

Buenas. Me gustaría saber si conocen la razón de que aparezca este error en el log del Apache.

Código: Seleccionar todo
Global symbol "$method" requires explicit package name at c:\\appserv\\www\\cgi-bin\\usuario.pl line 37.\n


Mi script completo es el siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!c:\perl\bin\perl.exe
use strict;
use base 'usuario';

# Variables a guardar
my $nombre_usuario;
my $apellido_usuario;
my $login_usuario;
my $password_usuario;
my $numero_sap;
my $iniciales_gerencia;
my $extension_telefonica;
my $cargo_desempena;
my $correo_electronico;
my $ubicacion_empresa;
my $roles;
my $status_usuario;

# Métodos para introducir variables
coge_parametros();

my %hash =(id_gerencia=>'$id_gerencia', nombre_usuario=>'$nombre_usuario', apellido_usuario=>'$apellido_usuario', login_usuario=>'$login_usuario', password_usuario=>'$password_usuario', numero_sap=>'$numero_sap', extension_telefonica=>'$extension_telefonica', cargo_desempena=>'$cargo_desempena', correo_electronico=>'$correo_electronico', ubicacion_empresa=>'$ubicacion_empresa', roles=>'$roles', status_usuario=>'$status_usuario');
my $obj1 = usuario->insert (\%hash);

exit;


#------------------------------------------------------------------------------------------------------------------------------------------------
#                                                                                               Funciones
#-------------------------------------------------------------------------------------------------------------------------------------------------

sub coge_parametros()
{

        #Determinamos el tipo de metodo usado para pasar los argumentos
        $method=$ENV{"REQUEST_METHOD"};
        if ($method eq "GET")
        {
                #Si el metodo es GET los argumentos vienen en $ENV{"QUERY_STYRNG"}
                $argumento=$ENV{"QUERY_STRING"};
        }
        else
        {
                #Si el metodo es POST los argumentos vienen en la entrada estandar
                $argumento=<STDIN>;
        }

        # Obtengo las variables y las imprimo
        foreach (split(/&/,$argumento))
        {
                ($variable,$valor) = split(/=/, $_);
                $valor=~tr/+/ /;
                $valor=~s/%([0-9|A-F]{2})/pack(C,hex($1))/eg;
                $datos{$variable}=$valor;
        }
                $nombre_usuario=$datos{nombre_usuario};
                $apellido_usuario=$datos{apellido_usuario};
                $login_usuario=$datos{login_usuario};
                $password_usuario=$datos{password_usuario};
                $numero_sap=$datos{numero_sap};
                $iniciales_gerencia=$datos{iniciales_gerencia};
                $extension_telefonica=$datos{extension_telefonica};
                $cargo_desempena=$datos{cargo_desempena};
                $correo_electronico=$datos{correo_electronico};
                $ubicacion_empresa=$datos{ubicacion_empresa};
                $roles=$datos{roles};
                $status_usuario=$datos{status_usuario};
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Este es para tomar datos de una página web e insertarlos en una base de datos.
Por favor espero posibles respuestas. Gracias de antemano.
josefog83
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2006-10-17 10:03 @460

Publicidad

Notapor explorer » 2006-11-20 08:03 @377

Como estás usando el pragma 'use strict;', Perl se encuentra en la línea 37 con una variable que no ha sido declarada en ningún sitio.
Cambia
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$method=$ENV{"REQUEST_METHOD"};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $method=$ENV{"REQUEST_METHOD"};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Así, estás definiendo y declarando la variable en tu programa, como una variable local en la función donde está.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados

cron