Mie Jun 22, 2005 1:57 am
|
 |
pbellon
Perlero Nuevo

|
Registrado: 22 Oct 2004
Mensajes: 33
|
|
| Salida en color |
|
|
Hola,
Tengo un programa en perl que muestra mensajes por pantalla atendiendo a unos criterios, fundamentalmente muestra tipos de errores producidos. Necesito que estas salidas indicativas de error, en mi caso, sean en color. ¿Cómo puedo indicarle a Perl que cuando escriba en pantalla algo sea de un color u otro?
Saludos y Gracias
 |
|
|
|
Mie Jun 22, 2005 7:45 am
|
 |
monoswim
Vive para Perl en Español

|
Registrado: 18 Nov 2003
Mensajes: 716
Ubicación: Buenos Aires
|
|
|
|
|
Es una salida en HTML o por consola ?
Que clase de programa es ?
Saludos |
|
Jue Jun 23, 2005 6:22 pm
|
 |
danimera
Perlero Adicto

|
Registrado: 23 Jun 2005
Mensajes: 239
Ubicación: Colombia
|
|
| Re: Salida en color |
|
|
BUeno si te refieres a la salida del erro en color ,, me imagino que estaras hablando de un resultado en una pagina HTML
para ellos puedes usar etiquetas html-
Lo mejor es que expliques mejor tu pregunta para saber a que te refieres OK |
|
Vie Jun 24, 2005 2:53 am
|
 |
pbellon
Perlero Nuevo

|
Registrado: 22 Oct 2004
Mensajes: 33
|
|
| Salida en Color |
|
|
Hola de nuevo,
se trata de una salida por consola. El scipts trata de lo siguiente:
El perl ejecuta una serie de programas, concretamente compilaciones de otros scripts. Después lee y trata la salida, pero en lugar de mostrar todos los mensajes lo que debe hacer es mostrar determinados de ellos en rojo si son de error, etc. de esta forma con un simple vistazo, al ver el color rojo, se sabe que algo ha ido mal. Otros colores tendrán otra interpretación.
Saludos |
|
Vie Jun 24, 2005 7:22 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
Lo primero sería ¿en qué tipo de consola estás trabajando?
SALUDOS |
|
Lun Jun 27, 2005 6:39 am
|
 |
pbellon
Perlero Nuevo

|
Registrado: 22 Oct 2004
Mensajes: 33
|
|
| Re: |
|
|
Hola,
sería la linea de comandos de windows 2000.
Saludos |
|

Mar Jun 13, 2006 3:27 am
|
 |
ignasificus
Perlero Nuevo

|
Registrado: 01 Jun 2006
Mensajes: 13
Ubicación: Valencia
|
|
| colores |
|
|
Saludos,
Rescato este polvoriento y viejo tema, pues me asalta la misma duda que pbellon.
Yo suelo utilizar perl, desde la consola de MS-DOS, y me gustaría poder darle color a las salidas de texto, para resaltar cosas importantes.
He estado buscando, y he encontrado el modulo Term::ANSIColor, pero no me funciona.
| Código: |
#!/usr/bin/perl
use Term::ANSIColor;
print color 'yellow';
print "Este texto, deberia salir amarillo\n";
|
Pero la salida, en lugar de obtenerla en amarillo, me sale de la siguiente forma:
| Código: |
C:\Documents and Settings\Ignasificus\Practicas_PERL>perl -w colores_texto.pl
←[33mEste texto, deberia salir amarillo
|
Lo unico que cambia es que se le añade al principio una flecha [ y 33
Donde ha ido a esconderse el color?¿  |
|

Mar Jun 13, 2006 3:59 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Significa que tu consola MS-DOS no entiende las secuencias de escape ANSI.
Necesitas editar el c:\config.sys para agregarle ese driver.
Reinicias el equipo y vuelves a probar.
El amarillo está ahí delante. Te ha salido un carácter de escape, un '[', un 33 y luego una 'm'. Según la tabla de secuencias ANSI, efectivamente, eso corresponde al amarillo. |
|

Mar Jun 13, 2006 4:27 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Lo encontré. Quizás no tengas que instalar el driver ANSI.sys.
Prueba antes con esto
| Código: |
use Win32::Console::ANSI;
use Term::ANSIColor;
print color 'bold blue';
print "Este texto está en azul con negrita.\n";
print color 'reset';
print "Este texto es normal.\n";
print colored ("Negrita amarillo sobre magenta.\n", 'bold yellow on_magenta');
print "Este texto es normal.\n"; |
Lo que hace el módulo Win32::Console::ANSI es justo una emulación del driver ANSI.sys en Perl. El truco es ponerlo delante del módulo Term::ANSIColor, para que Perl crea que en realidad está sacando colores en una terminal ANSI.
Para la próxima vez me lo apunto: cualquier trabajo de Perl en Windows, hay que mirar antes el árbol de módulos Win32... |
|

Mar Jun 13, 2006 4:36 am
|
 |
ignasificus
Perlero Nuevo

|
Registrado: 01 Jun 2006
Mensajes: 13
Ubicación: Valencia
|
|
|
|
|
Gracias!
Ya lo he puesto, ahora cuando reinicie, chequearé que funcione. |
|
Mar Jun 13, 2006 5:29 am
|
 |
pbellon
Perlero Nuevo

|
Registrado: 22 Oct 2004
Mensajes: 33
|
|
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|