• Publicidad

Salida en color

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

Salida en color

Notapor pbellon » 2005-06-22 02:57 @165

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
:(
pbellon
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2004-10-22 06:48 @325

Publicidad

Notapor monoswim » 2005-06-22 08:45 @406

Es una salida en HTML o por consola ?

Que clase de programa es ?

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Re: Salida en color

Notapor danimera » 2005-06-23 19:22 @848

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
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Salida en Color

Notapor pbellon » 2005-06-24 03:53 @203

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
pbellon
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2004-10-22 06:48 @325

Notapor kidd » 2005-06-24 08:22 @390

Hola:

Lo primero sería ¿en qué tipo de consola estás trabajando?


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re:

Notapor pbellon » 2005-06-27 07:39 @360

Hola,

sería la linea de comandos de windows 2000.

Saludos
pbellon
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2004-10-22 06:48 @325

colores

Notapor ignasificus » 2006-06-13 04:27 @227

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: Seleccionar todo
#!/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: Seleccionar todo
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?¿ :shock:
<!-- Algún dia me haré una firma que valga la pena.. [b8d] Al día siguiente, conquistaré el mundo.. [/b8d]-->
Avatar de Usuario
ignasificus
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-06-01 07:07 @338
Ubicación: Valencia

Notapor explorer » 2006-06-13 04:59 @249

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.
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

Notapor explorer » 2006-06-13 05:27 @269

Lo encontré. Quizás no tengas que instalar el driver ANSI.sys.

Prueba antes con esto
Código: Seleccionar todo
  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...
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

Notapor ignasificus » 2006-06-13 05:36 @275

Gracias!
Ya lo he puesto, ahora cuando reinicie, chequearé que funcione.
<!-- Algún dia me haré una firma que valga la pena.. [b8d] Al día siguiente, conquistaré el mundo.. [/b8d]-->
Avatar de Usuario
ignasificus
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2006-06-01 07:07 @338
Ubicación: Valencia

Siguiente

Volver a Básico

¿Quién está conectado?

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