my @statements; my %structure; foreach my $elt ( @statements ) { my @ex = exec($elt); my $i; for (my $y=0;$y<=$#ex;$y++) { my %results_temp = %{$ex[$y]}; my $index = "$i.$y"; foreach my $key (keys %results_temp) { $structure{$index}{$key} = $results_temp{$key}; } } } sub exec { my @param = @_; my ($type, $db, $login, $pwd, $ip) = getDBInfo(); my $dbh = connectDB ($type, $db, $login, $pwd, $ip); my @store; foreach (@param) { my $sth = $dbh->prepare ($_); $sth->execute() || die $sth->errstr; while (my $hash_ref = $sth->fetchrow_hashref) { push @store, $hash_ref; } } return @store; }