Bonjour j'aimerais optimiser ce bout de code qui insère des enregistrements dans une BD. Il s'agit de routes vers différents hôtes. Le problème est que la taille de l'enregistrement n'est pas fixe (sans dépasser les 8 champs), il dépend du nombre de noeuds dans la route.
voici le format de l'enregistrement:
hôte_a_atteindre;nb_de_noeuds;noeud1;noeud2;....noeud_final;

voici mon code

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
my $sth_ins = $dbh->prepare_cached($INSERT_ROUTE);
my $field;
my $i;
my @input_values;
 
while(<INFILE>){
	$i = 0;
	@input_values = ('','','','','','','','');
	foreach $field (split(';',$_)) {
	@input_values[$i] = chomp $field;
	$i++;
	} 
	print "hello";
	my $rv = $sth_ins->execute(@input_values) ? "ok" : "OOPS! - ".DBI->errstr;
	}
a la place du foreach j'aurais aimé utilser qqchose comme
@input_values (split(';',$_))
mais le tableau est automaitquement redimmensionné, ce qui pose un problème pour l'insertion dans la table, puisque ce tableau doit contenir obligatoirement 8 cases.
L'utilisation du $i est lourde aussi.

Merci d'avance pour vos suggestions