Explorer un document avec perl

koukouse Messages postés 5 Statut Membre -  
koukouse Messages postés 5 Statut Membre -
Bonjour,
je veux aficher le contenue d'un document ensuit re demander si en veux ouvrire un autre document sinon en sort voila ou je suis:

#!/usr/bin/perl
print"introduire le nom du docier a cherché sinon introduire 0:\n";
chomp(my $nomrep = <STDIN>);
opendir(DIR, $nomrep) || die "le fichier $nomrep n'existe pas\n";
while ($file = readdir(DIR))
{
print($file."\n");
};
closedir DIR;

merci d'avence :)

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    T'aurais pu répondre dans le post initial au lieu d'ouvrir un autre fil ;-((
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Voici un exemple.
    Si on réponds O alors le contenu du fichier sera affiché et on passe au suivant
    Si on réponds N le contenu du fichier ne sera pas afficher et on passe au suivant
    Si on réponds q alors le programme s'arrête
    lami20j@debian-acer:~$ ls -l rep1/
    total 12
    -rw-r--r-- 1 lami20j lami20j 37 oct.  22 20:55 fic1
    -rw-r--r-- 1 lami20j lami20j 26 oct.  22 20:56 fic2
    -rw-r--r-- 1 lami20j lami20j 37 oct.  22 21:25 fic3
    lami20j@debian-acer:~$ cat rep1/fic1
    fic1 ligne1
    fic1 ligne2
    fic1 ligne3
    
    lami20j@debian-acer:~$ cat rep1/fic2
    fic2 ligne 1
    fic2 ligne 2
    lami20j@debian-acer:~$ cat rep1/fic3
    fic3 ligne1
    fic3 ligne2
    fic3 ligne3
    
    lami20j@debian-acer:~$ cat rep.pl
    #!/usr/bin/perl
    use strict;use warnings;
    print "Le nom du répertoire : ";
    chomp(my $rep = <STDIN>);
    opendir DIR,$rep or die "Le répertoire $rep n'existe pas : $!\n";
    
    while(my $fic = readdir DIR){
      next if $fic =~ /^\.\.?$/; #on evite les répertoires . et ..;
      print "Ouvrir le fichier $rep/$fic , [O/N] ou q pour quitter : ";
      chomp (my $choix = <STDIN>);
      $choix eq "q" and last;
      if ($choix eq "O"){
        print "Fichier : $fic\n";
        open F,"$rep/$fic" or die "$!\n";
        while(my $ligne=<F>){
          print "$ligne";
        }
        close F;
      }
    }
    __END__
    
    lami20j@debian-acer:~$ perl rep.pl
    Le nom du répertoire : rep1
    Ouvrir le fichier rep1/fic1 , [O/N] ou q pour quitter : q
    lami20j@debian-acer:~$ perl rep.pl
    Le nom du répertoire : rep1
    Ouvrir le fichier rep1/fic1 , [O/N] ou q pour quitter : O
    Fichier : fic1
    fic1 ligne1
    fic1 ligne2
    fic1 ligne3
    
    Ouvrir le fichier rep1/fic2 , [O/N] ou q pour quitter : N
    Ouvrir le fichier rep1/fic3 , [O/N] ou q pour quitter : O
    Fichier : fic3
    fic3 ligne1
    fic3 ligne2
    fic3 ligne3
    
    lami20j@debian-acer:~$ perl rep.pl
    Le nom du répertoire : rep1
    Ouvrir le fichier rep1/fic1 , [O/N] ou q pour quitter : N
    Ouvrir le fichier rep1/fic2 , [O/N] ou q pour quitter : N
    Ouvrir le fichier rep1/fic3 , [O/N] ou q pour quitter : O
    Fichier : fic3
    fic3 ligne1
    fic3 ligne2
    fic3 ligne3
    
    lami20j@debian-acer:~$ 

    0
    1. koukouse Messages postés 5 Statut Membre
       
      SLT ENCORE MERCI POUR L'AIDE mais il fait permission DENIED au sous fichier il ne l'ouvre pas est il afiche pas la vleur en octé merci de revoire le problem :)
      0