Bonjour,
J'ai rencontré un problème que j'ai résolu, mais j'aimerais comprendre pourquoi ma première version ne fonctionne pas.
Alors voici l'idée:
J'ouvre un série de fichiers en écriture:
Ensuite, je veux écrire dans les fichiers et donc voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 my $i=0; my @fdlist; while( $i <= $lcfg{nbprocess} ){ local *FILE; print "${PREFIXBINDIR}/temp/${iname}_${i}${isuffix}\n"; print "${PREFIXBINDIR}/temp/${oname}_${i}${osuffix}\n"; open FILE, ">${PREFIXBINDIR}/temp/${iname}_${i}${isuffix}"; push(@fdlist,*FILE); $i++; }
La version qui ne fonctionne pas:
La version qui fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $i=0; #my $k; while(<$FILEPASSIN>){ next if /^\s*$/; #$k=$fdlist[$i]; print ($fdlist[$i] "$_"); $i++; $i%=$lcfg{nbprocess}+1; }
Si quelqu'un pouvait m'éclairer sur mon erreur et/ou mon incompréhension...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $i=0; my $k; while(<$FILEPASSIN>){ next if /^\s*$/; $k=$fdlist[$i]; print ($k "$_"); $i++; $i%=$lcfg{nbprocess}+1; }
Partager