Recupère les mots de chaques lignes en PERL

Fermé
Pitch@n Messages postés 222 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 1 août 2013 - Modifié par Pitch@n le 31/05/2010 à 11:46
Bonjour,

J'ai trouvé sur le forum un sujet dans lequel il y avait un bout de code en perl. Je voudrais savoir comment faire pour que le code qui récupère le premier mot de chaque lignes prennent en compte tous les mots de la ligne si cela est possible.
Voila le code :


#!/usr/bin/perl 
# 
use warnings; 
use strict; 

my (@mots_douteux,@fic); 
my %dans_fichier; 
my ($fichier,$temp) = ("essai.txt", "temp.txt"); 

# ouverture de fichier en lecture 
open F_LIRE, "$fichier" 
    or die "E/S: $!\n"; 

# ouverture de fichier temporaire en mode ajout 
open F_ECRIRE, ">>$temp" 
    or die "E/S: $!\n"; 

# sauvagarde fichier dans un tableau 
# en même temp je fait un chomp sur chaque element 
map { chomp } @fic = <F_LIRE>; 

# je sauvegarde le contenu de fichier original 
print F_ECRIRE "$_\n" foreach @fic; 

# début de programme 
print "Saisissez un mot ou une phrase :\n"; 

chomp(my $texte = <STDIN>); 
$texte =~ s/\W/ /g;                  # remplace signes punctuation avec un espace 
my @mot_texte = split /\s+/, $texte; # pour split 

# aide mémoire pour trouver les mots  
# qui n'existent pas dans le fichier 
@dans_fichier{@fic} = (); 

# sauvegarde des mots inexistants dans le fichier 
foreach (@mot_texte){ 
  push @mots_douteux,$_  unless exists $dans_fichier{$_}; 
} 

print "Le nombre de mots tapés est : ", @mot_texte+0,"\n"; 
print "Le nombre de mots de fichier est : ",@fic+0,"\n"; 
print "Il y a ",@mots_douteux+0," qui ne sont pas dans le ficher:\n"; 
print "@mots_douteux\n"; 

# traitment de mots trouvés 
foreach (@mots_douteux){ 
  print "Voulez-vous ajouter le mot $_ au fichier? O[ui] ou N[on] : "; 
  chomp(my $rep = <STDIN>); 
  print F_ECRIRE "$_\n" if $rep =~ /o(ui)?/i;   
} 
close F_LIRE; 
close F_ECRIRE; 

rename($fichier,"fichier_original.txt") 
     or die "E/S : $!"; 
rename ($temp,$fichier) 
     or die "E/S : $!\n";




Merci d'avance je ne suis pas trés a l'aise pour le moment avec ce language :)






Si l'argent se trouvait sur les arbres,
les femmes aimeraient les singes.