Explorer un document avec perl

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. Modérateur
    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. 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