• Publicidad

Módulo CGI.pm en Perl 5.26.1

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Módulo CGI.pm en Perl 5.26.1

Notapor seafree » 2018-02-01 16:42 @737

Buenas tardes. Me encuentro probando el siguiente script que me compartiste en su momento para realizar pruebas respecto al uso de UTF8:

Re: Unicode (UTF-8)
Nota por explorer » 2015-02-27 15:30 @687


#!/usr/bin/perl
use CGI qw(:standard :utf8);
use CGI::Carp qw(fatalsToBrowser);

use strict;
use warnings;
use utf8;

use open OUT => ':utf8'; # Salida en utf8
use open ':std'; # incluida la salida estándar

my $parametro = query_string(); # 'keywords=A1'
#print "$parametro\n";
#$parametro = (split ";", $parametro)[0];
($parametro) = split "=", $parametro;
#print "$parametro\n";

if ( $parametro eq 'A1' ) { AlmacenaCaracteresSinAjax() }
elsif ( $parametro eq 'A2' ) { AlmacenaCaracteresConAjax() }


sub AlmacenaCaracteresSinAjax {
my $cadena = param('cadena');
# my $cadena = decode('utf8', param('cadena'));
# my $cadena = decode_utf8(param('cadena'));

print
header(
-charset => 'utf-8',
-type => 'text/html',
),
start_html,
p("Sin Ajax: $cadena."),
end_html,
;
}

sub AlmacenaCaracteresConAjax {
my $cadena = param('cadena');

print
header(
-charset => 'utf-8',
-type => 'text/plain',
),
"Con Ajax: $cadena",
;
}

Sin embargo, al ejecutarlo me envió la siguiente alarma:

# perl utf8cgi.pl cadena=Camión
Can't locate CGI.pm in @INC (you may need to install the CGI module) (@INC contains: /usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux /usr/local/lib/perl5/site_perl/5.26.1

Investigando en la web encontré "CGI.pm HAS BEEN REMOVED FROM THE PERL CORE" --- https://metacpan.org/pod/distribution/CGI/lib/CGI.pod ---

Y mi pregunta aquí es ¿qué es lo que va pasar con los otros programas que están en línea? Éstos fueron creados con varias versiones anteriores a Perl. Actualicé Perl y como pueden la versión a la cual actualicé es la 5.26.1.

El servidor que estoy utilizando es Apache en un servidor de CentOS 7.

Segunda pregunta: Después de descargar e instalar el CGI.pm del CPAN, ¿lo instaló y todo debe de funcionar correctamente?
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: Módulo CGI.pm en Perl 5.26.1

Notapor explorer » 2018-02-01 17:39 @777

seafree escribiste:¿qué es lo que va pasar con los otros programas que están en línea? Éstos fueron creados con varias versiones anteriores a Perl.

Segunda pregunta: Después de descargar e instalar el CGI.pm del CPAN, ¿lo instaló y todo debe de funcionar correctamente?

No pasa nada: se instala CGI y listo: los programas antiguos seguirán funcionando (salvo... que necesiten de una versión específica de CGI).

En cuanto a la segunda pregunta, la respuesta es sí, siempre y cuando se instale de forma correcta (es decir, que los programas sean capaces de encontrarlo).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Módulo CGI.pm en Perl 5.26.1

Notapor seafree » 2018-04-12 09:58 @457

Buenos días, explorer. Respecto a la instalación del módulo CGI.pm en Perl 5.26.1, a pesar de que ya lo instalé me sigue mostrando Can't locate CGI.pm in @INC. ¿Eso quiere decir que no lo instalé de la forma correcta?

Verás, para empezar descargué el módulo CGI::Simple porque el CGI.pm no le encuentra desde el CPAN, pensé que era suficiente pero no es así por que continúa mostrando:

# perl -w DAS.cgi
Can't locate CGI.pm in @INC

# instmodsh
Installed modules are:
CGI::Simple, supuestamente acepta las referencias del CGI.pm
.
.
Ya le puse todas las rutas opcionales del @INC y sigue sin funcionar:

@INC contains: /usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux
/usr/local/lib/perl5/site_perl/5.26.1
/usr/local/lib/perl5/5.26.1/x86_64-linux
/usr/local/lib/perl5/5.26.1

Agradeceré tu gran apoyo para encontrar solución a esto, muchas gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Re: Módulo CGI.pm en Perl 5.26.1

Notapor explorer » 2018-04-12 11:21 @514

Extraño que no encuentres CGI en metaCPAN.

Pero lo ideal es que lo instales desde tu gestor de paquetes de software, no desde CPAN.

Tampoco nos has dicho cómo has hecho la instalación.

Si sale el error de que no lo encuentra es que no está instalado en alguno de los directorios en los que Perl busca por los módulos, que son los directorios contenidos dentro de @INC.

Si lo has instalado en un directorio "extraño", entonces te basta con poner en tu programa, al principio, un "use lib" con la ruta a ese directorio. Por ejemplo:

use lib "/directorio/realmente/extraño/donde/he/colocado/el/modulo";
use CGI;
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Módulo CGI.pm en Perl 5.26.1

Notapor seafree » 2018-04-12 11:51 @535

Enormes gracias, explorer. Algo no estaba bien escrito pero con el ejemplo enviado el programa compila :)

Respetos para ti.
Nuevamente, gracias.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518


Volver a Módulos

¿Quién está conectado?

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