salut
je veux lire un fichier qui est dans un répertoire qui contient un sous repertoire (dans ce sous repertoire je trouve le fichier que je veux l'ouvrir extension .txt)
comment dois je procéder ?! (fonction récursive )
salut
je veux lire un fichier qui est dans un répertoire qui contient un sous repertoire (dans ce sous repertoire je trouve le fichier que je veux l'ouvrir extension .txt)
comment dois je procéder ?! (fonction récursive )
Si tu sais à l'avance que ton fichier est dans un sous-répertoire, il n'y a peut-être pas besoin d'une fonction récursive.
Sinon, il y a le module File::Find qui répond peut-être à ton besoin. Ou je donne des exemples de parcours récursif d'une arborescence de répertoires dans la partie 2 de mon tutoriel sur la programmation fonctionnelle en Perl (voir dans ma signature ci-dessous).
Au fait, tu as oublié de me répondre dans ton autre post d'il y a 3 ou 4 jours.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
j'ai un fichier initial dont le contenu est:
Ce fichier tabulaire contient trois colonnes d’informations : on pourra lire de gauche à droite :
Fréquence d’occurrence Numéro d’identification unité lexicale
Par exemple
3851 4178 de1972 6643 la1473 6697 les1391
On pourra lire dans le fichier de sortie de gauche à droite :
Numéro d’identification fréquence d’occurrence unité lexicale
les unités lexicales seront triées par ordre alphabetique
Dans ce meme exemple on aura
4178 3851 de
6643 1972 la
6697 1473 les
quel est le script qui lui correspond
Merci
Bonjour,
voici le code envoyé par Gerrardo (par MP):
Je n'ai pas testé, mais je vois au moins un problème dans ce code: la fonction readdir renvoie le nom des fichiers du répertoire sans le chemin. Donc, au moment d'ouvrir le fichier, il faut passer le nom plus le chemin. Par exemple, en améliorant au passage la syntaxe d'appel de la fonction open :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 chomp ($user_supplied_directory = <STDIN>); opendir (DIR, $user_supplied_directory); my @dir = readdir DIR ; foreach (@dir) { if($_ =~ /filename/ ) { print "yes i find it "; # Reads the content of the original file open(FILE, " $_ "); @tab= <FILE>; print @tab,"\n" ; close FILE; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 open my $FILE, "<", "$user_supplied_directory/$_" or die "Ouverture impossible de $_$!";
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager