[TP] Systeme d'election aléatoire ...

hum hum ...

[TP] Systeme d'election aléatoire ...

Messagede cipher16 le Mar 29 Avr 2008 15:17

Le fichier a utiliser est de la forme :
nom1
nom2
nom3
,...

Code: Tout sélectionner
#!/usr/bin/perl

# election Miss PERL
# on charge ( en un "coup") une liste de prenoms a partir d'un fichier
# ( fichier Prenoms dispo sur l'Intranet/Jeux d'essai)
# on parcourt CIRCULAIREMENT cette liste . A chaque réception du signal
# SIGINT ( CTRL C, signal n° 2), l'element courant ( de la "boucle") est supprimé.
# Quand il ne reste plus qu'un seul nom, on affiche l'heureuse (?) gagnante
#--------------------------------------------------------------------------

use strict;         # pour controle strict de la syntaxe

print "Entrer le nom du fichier\n";
my $reponse = <>;
chomp($reponse); # question : KESAKO ??
die "saisir un fichier!" unless (-f $reponse);

open F, $reponse or die "impossible d'ouvrir le fichier $reponse";

my @girls =<F>;  # on charge le contenu du fichier dans une liste
close F;
my $i=0;
sub fonc_assoc
{
   if(@girls!=1)
   {
      splice @girls,$i,1;
      print @girls;
   }
   else
   {
      print @girls;
   }
}

sub affiche
{
   print @girls;
}

sub increment
{
   $i=$i+1;
   print $i;
}
$SIG{"INT"}="fonc_assoc";   # gestion signal SIGINT : fonction associée
$SIG{"TERM"}="affiche";

# on affiche le pid du processus et le nombre de personnes
print "Je suis le pid : $$\n";
while(1)
{
   
   if($i>=$#girls){
      $i=0;
   }
   else
   {
      $i=$i+1;
   }

}
cipher16
Administrateur du site
 
Messages: 29
Inscription: Mer 12 Mar 2008 14:15
Localisation: Alsace


Retourner vers Perl

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron