Langage perl

debuttant -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

je debute avec le langage perl et je voudrais savoir comment et creer un fichier inverse ?
comment se fait la lecture dans un fichier texte mot a mot.
merci

1 réponse

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    http://perl.mines-albi.fr/DocFr/perlfunc.html

    Regarde par exemple la fonction open

    Aussi les fonctions par catégorie

    Fonctions d'entrée/sortie
    binmode, close, closedir, dbmclose, dbmopen, die, eof, fileno, flock, format, getc, print, printf, read, readdir, rewinddir, seek, seekdir, select, syscall, sysread, sysseek, syswrite, tell, telldir, truncate, warn, write

    Fonctions pour données de longueur fixe ou pour enregistrements
    pack, read, syscall, sysread, syswrite, unpack, vec

    Fonctions de descripteurs de fichiers, de fichiers ou de répertoires
    -X, chdir, chmod, chown, chroot, fcntl, glob, ioctl, link, lstat, mkdir, open, opendir, readlink, rename, rmdir, stat, symlink, sysopen, umask, unlink, utime

    Pour lire mot par mot il faut savoir ce qu'on comprends par mot.

    aa:bb:cc peut être considéré comme un mot si le caractère se séparation est l'espace.
    En revanche on aura 3 mots si le séparateur est :
    Ce n'était qu'à titre d'exemple pour comprendre mon affirmation.

    Voici un exemple, sur ton message. J'ai considéré que le séparateur est un espace.
    lami20j@debian-acer:~/perl$ cat mot_par_mot.pl 
    #!/usr/bin/perl 
    use strict;use warnings; 
    my $n=1; 
    
    while(<DATA>){
      next if /^$/;        # on saute les lignes vides 
      for my $mot(split){  # on separe les mots (espace)
        print "$n. $mot\n";# on affiche les mots  
        $n+=1;             # on compte les mots
      } 
    } 
    
    print "Il y a ",$n-1," mots dans DATA\n"; 
    __END__ 
    Bonjour, 
    
    
    je debute avec le langage perl et je voudrais savoir comment et creer un fichier inverse ? 
    comment se fait la lecture dans un fichier texte mot a mot. 
    merci 
    lami20j@debian-acer:~/perl$ perl mot_par_mot.pl 
    1. Bonjour, 
    2. je 
    3. debute 
    4. avec 
    5. le 
    6. langage 
    7. perl 
    8. et 
    9. je 
    10. voudrais 
    11. savoir 
    12. comment 
    13. et 
    14. creer 
    15. un 
    16. fichier 
    17. inverse 
    18. ? 
    19. comment 
    20. se 
    21. fait 
    22. la 
    23. lecture 
    24. dans 
    25. un 
    26. fichier 
    27. texte 
    28. mot 
    29. a 
    30. mot. 
    31. merci 
    Il y a 31 mots dans DATA


    lami20j
    1