• Publicidad

Actualizar librerías "a la mala"

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Actualizar librerías "a la mala"

Notapor Lordgenome » 2012-04-17 07:28 @352

El contexto es...

No puedo actualizar la versión de perl completa ya que no tengo los permisos necesarios para aquello, lo que sí puedo es modificar algunas librerías. Mi versión de Perl es muy vieja y no acepta algunas funcionalidades que la actual sí trae.

Es por eso que tenía pensado agregar esas funcionalidades "a la mala" en el código de las librerías correspondientes (Ctlib, DBlib, Sybperl, etc..) las que sean necesarias para que la password pase encriptada cuando utilicen Perl.

¿Qué problemas podrían ocurrir al hacer esto?

La ruta de las librerías:

/opt/perl/5.8.0/lib/sun4-solaris/Sybase


Las librerías...

BCP.pm BLK.pm CTlib.pm CTlib.pod DBlib.pm DBlib.pod Sybperl.pm
Lordgenome
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2012-04-11 07:06 @338

Publicidad

Re: Actualizar librerías "a la mala"

Notapor explorer » 2012-04-17 09:47 @449

Si en el sistema hubiera un compilador de C... podrías probar a usar perlbrew, y de esa manera, tendrías el Perl que quisieras. Y con local::lib, instalar los nuevos módulos, de forma independiente de los del sistema.

Por lo que veo... se trata de un sistema que tiene más de diez años de antigüedad...

Debe haber poderosas razones para mantenerlo :)

En tu caso, no deberías tener problemas en meter distribuciones y módulos Perl que estén escritos en puro Perl, salvo que éstos estén usando características de los nuevos Perl (desde Perl v5.8.8, las mejoras han sido enormes). Mucho más difícil son las distribuciones que traen o dependen de bibliotecas en C, ya que tendrás que compilarlas. Y no está garantizado que aún así funcionen...

Una vez me encontré con un caso parecido.

Era imposible actualizar nada, y el cliente se negaba a deshacerse de la máquina y poner versiones nueva de todo, aparte de que dentro había un software muy valioso que funcionaba con una tarjeta de adquisición de datos, creada todo por una empresa rusa de la época post-soviética, pre-caída del muro de Berlín (ergo, esa empresa ya no existía).

El cliente quería mejorar un servicio e incorporar otros nuevos.

Solución ultrarápida: Poner un PC nuevo al lado de la máquina vieja (algo así como 10 veces más potente en CPU y memoria, por 300€), instalar allí un Linux (7€) y desarrollar/adaptar todos los servicios en ella (€.€€€). Y luego, mediante la red, se comunicaba los resultados a la máquina vieja.

Al final, el cliente se dio cuenta de la tontería ;) y sacó todos los servicios y programas fuera de la vieja (salvo el dichoso programa de captura de datos post-soviético).

Frase del cliente: "Oye... ¡esto vuela!" :lol:

En el caso de no haber dependido de la tarjeta hardware, se hubiera pensado en poner una máquina virtual y meter allí todo el sistema viejo, sin modificación. Se hubiera tardado menos ya que no hubiese hecho falta ninguna migración.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

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