• Publicidad

Informe, tabulaciones

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

Informe, tabulaciones

Notapor newperlero » 2011-10-11 04:46 @240

Estoy haciendo un informe con los resultados que he sacado de una serie de operaciones con perl, y el problema que tengo es el siguiente:

Consulto varios atributos de una base de datos, de varios clientes. Por cada cliente tengo los valores Nombre, Apellidos, CIF y teléfono.

Estaba generando el informe de una manera tal que así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print "$nombre\t\t$apellidos\t\t$cif\t\t$tlf\n";
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Pero claro, no todos los nombres son igual de largos, y las demás columnas acaban desplazadas, prácticamente ninguna empieza en el mismo lado.
El resultado viene a ser algo asi:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
NOMBRE                 APELLIDOS                 CIF                 TELEFONO              
CLIENTE1                BEST BUY                0000000                99999999
CLIENTECONNOMBREMASLARGO              BESTBUY2                00000000000                99999999999
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿Hay alguna forma de poder generar un informe más agradable a la vista, algún módulo, o alguna forma de hacer esto de forma limpia?
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Publicidad

Re: Informe, tabulaciones

Notapor explorer » 2011-10-11 10:07 @463

Se puede usar printf() y formatos (ver perldoc perlform), pero aquí hay un problema mayor: no sabemos los anchos máximos de los campos, salvo que

a) aceptemos la opción de recortar los campos más largos, o
b) primero hagamos un bucle por toda la base de datos y obtener el ancho máximo de cada campo, confeccionar un formato de salida, y sacar el informe.

Aún así, tenemos un límite: el del ancho de la hoja del informe, así que... por algún campo hay que recortar.

Y módulos para generar informes hay unos cuantos... entrando en CPAN, busca por la palabra 'Report'.
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: Google [Bot] y 5 invitados