Foros del Web » Programación para mayores de 30 ;) » Programación General »

Acortar colores en perl

Estas en el tema de Acortar colores en perl en el foro de Programación General en Foros del Web. Buenas, Me pregunto si no existe una forma más ligera de hacer este comando @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PERL: Ver original $NumArg = @ ARGV ; ...
  #1 (permalink)  
Antiguo 24/06/2010, 02:59
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Acortar colores en perl

Buenas,

Me pregunto si no existe una forma más ligera de hacer este comando

Código PERL:
Ver original
  1. $NumArg = @ARGV; # NumArg almacena el nú de argumentosi
  2. if ($NumArg != 1){
  3.         print "- Dominio introducido: ";print color 'bold red';print "NINGUNO\n"; print color 'reset';
  4. }

El resultado que quiero conseguir es

- Dominio introducido: NINGUNO

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 25/06/2010, 04:45
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Respuesta: Acortar colores en perl

Código Perl:
Ver original
  1. print '- Dominio introducido: ', colored('NINGUNO', 'bold red'), "\n" if @ARGV != 1;

Si usas Perl v5.10, entonces queda un poco más corto:
Código Perl:
Ver original
  1. say '- Dominio introducido: ', colored('NINGUNO', 'bold red') if @ARGV != 1;
__________________
JF^D Perl Programming en Español
  #3 (permalink)  
Antiguo 25/06/2010, 06:44
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Acortar colores en perl

Cita:
Iniciado por jferrero Ver Mensaje
Código Perl:
Ver original
  1. print '- Dominio introducido: ', colored('NINGUNO', 'bold red'), "\n" if @ARGV != 1;

Si usas Perl v5.10, entonces queda un poco más corto:
Código Perl:
Ver original
  1. say '- Dominio introducido: ', colored('NINGUNO', 'bold red') if @ARGV != 1;
El problema de hacerlo así es que pierdo el contenido del else....

Código PERL:
Ver original
  1. if ($NumArg != 1){
  2.        print "- Dominio introducido: ";print color 'bold red';print "NINGUNO\n\n"; print color 'reset';
  3.        exit
  4.    }else{
  5.        print "- Dominio introducido: ";print color 'bold magenta';print "$DOMINIO \n\n"; print color 'reset';
  6.    }

Si el numero de argumentos es 1, debería mostrar el dominio coloreado de color magenta

- Dominio introducido: pepito.com

Sabéis si se puede modificar tu respuesta para el caso del Else?

Muchas gracias de antemano!
  #4 (permalink)  
Antiguo 25/06/2010, 07:03
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Acortar colores en perl

Lo he intentado así, que si no es igual a 1 muestre ninguno y finalice el programa, y si es igual a 1 muestre el dominio, pero no funciona correctamante, por qué? :S

print '- Dominio introducido: ', colored('NINGUNO', 'bold red'),"\n" if (@ARGV != 1){exit;}
print '- Dominio introducido: ', colored("$DOMINIO",'bold magenta'),"\n" if @ARGV == 1;


syntax error at ./perl_stats.sh line 36, near "){"
syntax error at ./perl_stats.sh line 45, near "}"
Execution of ./perl_stats.sh aborted due to compilation errors.

Muchas gracias de antemano!
  #5 (permalink)  
Antiguo 25/06/2010, 07:52
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Respuesta: Acortar colores en perl

Si lo único que cambia es el color y contenido del resultado, te vale con
Código Perl:
Ver original
  1. print '- Dominio introducido: ';
  2. if (@ARGV != 1) {
  3.     print colored('NINGUNO', 'bold red'),"\n";
  4. }
  5. else {
  6.     print colored("$DOMINIO",'bold magenta'),"\n";
  7. }

O de otra forma, con el operador condicional:
Código Perl:
Ver original
  1. print '- Dominio introducido: ',
  2.     ( (@ARGV != 1)
  3.     ? colored('NINGUNO', 'bold red')
  4.     : colored("$DOMINIO",'bold magenta')
  5.     ),
  6.     "\n"
  7.     ;
__________________
JF^D Perl Programming en Español

Última edición por jferrero; 25/06/2010 a las 08:05
  #6 (permalink)  
Antiguo 25/06/2010, 08:05
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Acortar colores en perl

Cita:
Iniciado por jferrero Ver Mensaje
Si lo único que cambia es el color y contenido del resultado, te vale con
Código Perl:
Ver original
  1. print '- Dominio introducido: ';
  2. if (@ARGV != 1) {
  3.     print colored('NINGUNO', 'bold red'),"\n";
  4.     exit;
  5. }
  6. print colored("$DOMINIO",'bold magenta'),"\n";
El else no es necesario, por la presencia del exit().

O de otra forma, con el operador condicional:
Código Perl:
Ver original
  1. print '- Dominio introducido: ',
  2.     ( (@ARGV != 1)
  3.     ? colored('NINGUNO', 'bold red')
  4.     : colored("$DOMINIO",'bold magenta')
  5.     ),
  6.     "\n"
  7.     ;
Entendido, me liaba al hacerlo todo en una linea :P
Así se ve mucho mas claro.

Etiquetas: acortar, colores, perl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:03.