OVH Cloud OVH Cloud

créer et effacer un fichier avec un script perl

1 réponse
Avatar
bricem13
Bonjour

J'ai fait un petit script perl (malgr=E9 que je ne sache que peu - pas -
programmer en perl). Il doit simplement r=E9agir =E0 xscreensaver et
cr=E9er un fichier vide lorsque celui-ci est actif mais il ne marche pas
et je ne sais pas comment le d=E9bogguer...

Le script est le suivant:

#!/usr/bin/perl

# creates a file if xscreensaver is running or locked
my $createfile =3D `touch ~/.fvwm/scripts/xscreen_active`;
my $deletefile =3D `rm ~/.fvwm/scripts/xscreen_active`;

open (IN, "xscreensaver-command -watch |");
while (<IN>) {
if (m/^(BLANK|LOCK)/) {
chomp( $createfile );
} elsif (m/^UNBLANK/) {
chomp( $deletefile );
}

}

Je ne vois pas pourquoi il ne marche pas!

Si quelqu'un a une petite id=E9e, =E7a serait gentil de m'aider!

Merci Brice

1 réponse

Avatar
Emmanuel Florac
Le Tue, 19 Jul 2005 13:57:23 -0700, bricem13 a écrit :

Bonjour

J'ai fait un petit script perl (malgré que je ne sache que peu - pas -
programmer en perl). Il doit simplement réagir à xscreensaver et
créer un fichier vide lorsque celui-ci est actif mais il ne marche pas
et je ne sais pas comment le débogguer...

Le script est le suivant:

#!/usr/bin/perl

# creates a file if xscreensaver is running or locked
my $createfile = `touch ~/.fvwm/scripts/xscreen_active`;
my $deletefile = `rm ~/.fvwm/scripts/xscreen_active`;

open (IN, "xscreensaver-command -watch |");
while (<IN>) {
if (m/^(BLANK|LOCK)/) {
chomp( $createfile );
} elsif (m/^UNBLANK/) {
chomp( $deletefile );
}

}

Je ne vois pas pourquoi il ne marche pas!



Moi je vois bien :)

la forme :

my $toto=`tata`

éxécute la commande "tata" et met le résultat dans la variable $toto.
Bien entendu ce n'est pas ce que tu veux faire, je pense... De même,

chomp($toto)

retire le caractère fin de ligne (quelqu'il soit) de la variable
$toto... Je ne pense pas non plus que ce soit le but recherché!
Remplace les lignes "chomp(...)" par les lignes $ttt=`..` plutôt.

PS ce n'est pas du tout le bon groupe.... fr.comp.lang.perl plutôt.

--
Si non confectus non reficiat.