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:
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++;
}
Ensuite, je veux écrire dans les fichiers et donc voici:
La version qui ne fonctionne pas:
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;
}
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 ($k "$_");
	$i++;
	$i%=$lcfg{nbprocess}+1;
}
Si quelqu'un pouvait m'éclairer sur mon erreur et/ou mon incompréhension...