Les cuento que soy un feliz usuario de una Mac, la cual tiene luces bajo las teclas que se manejan con sus correspondientes teclas en el teclado. Las luces funcionan perfectamente: al modificar un archivo con un número se encienden y se cambia la intensidad. Vi por ahí que había un script para bindearlo a las teclas y así poder cambiarlas con las del teclado, pero sin embargo, ya que estoy aprendiendo Perl, decidí hacer el mio propio, y me estoy volviendo loco.
Lo siguiente funciona perfectamente.
Using perl Syntax Highlighting
- #!/usr/bin/perl
- my $mas = 2;
- system("echo $mas > /sys/class/leds/smc::kbd_backlight/brightness");
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Este es mi script, el cual no funciona correctamente (corriéndolo como root, por supuesto)
Using perl Syntax Highlighting
- #!/usr/bin/perl
- #use warnings;
- my $salto = 25.5;
- open(ARCHIVO, "/sys/class/leds/smc::kbd_backlight/brightness") || die("No se encontro el Archivo de Brightness\n");
- @intensidad = <ARCHIVO>;
- close(ARCHIVO);
- chomp(@intensidad[0]);
- my $var = @intensidad[0];
- my $mas = $var + $salto;
- my $menos = $var - $salto;
- if($ARGV[0] eq up){
- system("echo $mas > /sys/class/leds/smc::kbd_backlight/brightness");
- }elsif($ARGV[0] eq down){
- system("echo $menos > /sys/class/leds/smc::kbd_backlight/brightness");
- }else{
- print "No se encontro el archivo\n";
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Corriendo mi script me encuentro con este error:
root[@]/home/jsanchez/Scripts#./kb-backlight.pl up
sh: line 0: echo: write error: Invalid argument
He buscado el error en Google y la mayoría de las cosas que saltan son bugs, que no pretendo entender de qué se habla. Pero la razón del post, es que...
¿Por qué el primero funciona, y el segundo no?
Edito: sí, también probé con comillas en: eq "up" || "down"
Saludos.