Ce script doit lire plusieurs fichiers dans un repertoire effectuer le
traitement (numeroter les mots) et ecrire une sortie pour chaque
fichier.
Je n'arrive pas a trouver ce qui ne fonctionne pas. Je vous remercie
de votre aide.
use strict;
use warnings;
use File::Find;
# Passer deux arguments a la commande find
# premier argument est une subroutine qui est traitement sur chaque
fichier.
# deuxieme argument est le repertoire courant
find(\&number, ".");
# Subroutine that number words.
sub number {
while (<>) {
my @words = split(/\W*\s+\W*/, $_); # split
foreach my $num ( 0 .. $#words) {
open OUT, ">out_$ARGV.txt" and select OUT if 1..1;
{print $num+1, "\t$words[$num] -- file $ARGV\n"}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
J.Pierre Pourrez
Le Sat, 09 Apr 2005 11:00:58 -0700, nicolas-laurent a écrit :
Ce script doit lire plusieurs fichiers dans un repertoire effectuer le traitement (numeroter les mots) et ecrire une sortie pour chaque fichier. Je n'arrive pas a trouver ce qui ne fonctionne pas. Je vous remercie de votre aide.
use strict; use warnings; use File::Find;
# Passer deux arguments a la commande find # premier argument est une subroutine qui est traitement sur chaque fichier. # deuxieme argument est le repertoire courant
find(&number, ".");
# Subroutine that number words. sub number { while (<>) { my @words = split(/W*s+W*/, $_); # split foreach my $num ( 0 .. $#words) { open OUT, ">out_$ARGV.txt" and select OUT if 1..1; {print $num+1, "t$words[$num] -- file $ARGVn"}
} }
Manquera pas un petite "close OUT;" dans la boucle ?
Cordialement Jean-Pierre
Le Sat, 09 Apr 2005 11:00:58 -0700, nicolas-laurent a écrit :
Ce script doit lire plusieurs fichiers dans un repertoire effectuer le
traitement (numeroter les mots) et ecrire une sortie pour chaque fichier.
Je n'arrive pas a trouver ce qui ne fonctionne pas. Je vous remercie de
votre aide.
use strict;
use warnings;
use File::Find;
# Passer deux arguments a la commande find # premier argument est une
subroutine qui est traitement sur chaque
fichier.
# deuxieme argument est le repertoire courant
find(&number, ".");
# Subroutine that number words.
sub number {
while (<>) {
my @words = split(/W*s+W*/, $_); # split
foreach my $num ( 0 .. $#words) {
open OUT, ">out_$ARGV.txt" and select OUT if 1..1; {print $num+1,
"t$words[$num] -- file $ARGVn"}
}
}
Manquera pas un petite "close OUT;" dans la boucle ?
Le Sat, 09 Apr 2005 11:00:58 -0700, nicolas-laurent a écrit :
Ce script doit lire plusieurs fichiers dans un repertoire effectuer le traitement (numeroter les mots) et ecrire une sortie pour chaque fichier. Je n'arrive pas a trouver ce qui ne fonctionne pas. Je vous remercie de votre aide.
use strict; use warnings; use File::Find;
# Passer deux arguments a la commande find # premier argument est une subroutine qui est traitement sur chaque fichier. # deuxieme argument est le repertoire courant
find(&number, ".");
# Subroutine that number words. sub number { while (<>) { my @words = split(/W*s+W*/, $_); # split foreach my $num ( 0 .. $#words) { open OUT, ">out_$ARGV.txt" and select OUT if 1..1; {print $num+1, "t$words[$num] -- file $ARGVn"}
} }
Manquera pas un petite "close OUT;" dans la boucle ?