Bonjour!
voila, je tente de faire un algo de bisection en vain, d'autant plus que je ne connais pas perl et que je tatonne pour coder ca.
alors je mets mon code.
quelqu'un pourrait il me dire comment faire et ou je me plante?
merci d'avance!
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
#!/usr/bin/perl
#
#
#
use DBI;
require '/data/iddncgi/util.pl';
print "\n";
$cpt1 = '1';
$cpt2 = '1';
$debut_oeuvre = '102061';
$milieu_oeuvre = ($fin_oeuvre - $debut_oeuvre)/2;
$fin_oeuvre = '102161';
$debut_aut = '102061';
$milieu_aut = ($fin_aut - $debut_aut)/2;
$fin_aut = '102161';
&ConnectToBase("iddn");
while ($debut_oeuvre, $fin_oeuvre, $debut_aut, $fin_aut)
{
    $b = &SQL_Execute("SELECT md FROM oeuvre WHERE numero = '$debut_oeuvre'");
    $c = &SQL_Execute("SELECT md FROM oeuvre WHERE numero = '$fin_oeuvre'");
    $md1_oeuvre = $b->fetchrow();
#$b->finish;
    print "MD1_oeuvre : $md1_oeuvre\n";
    $d = &SQL_Execute("SELECT md FROM aut WHERE numero = '$debut_aut'");
    $e = &SQL_Execute("SELECT md FROM aut WHERE numero = '$fin_aut'");
    $md1_aut = $d->fetchrow();
#$d->finish;
    print "MD1_aut : $md1_aut\n";
    print "comparaison de MD1 numero $cpt1 \n";
    $cpt1++;
    print "numeros de ligne: aut=$debut_aut, oeuvre=$debut_oeuvre \n";
    if($md1_oeuvre == $md1_aut)
    {
        print "LES MD5 SONT IDENTIQUES, C\'EST CORRECT!\n";
    }
    else
    {
        print "LES MD5 SONT DIFFERENTS, CHERCHEZ L\'ERREUR!\n";
        $fin_oeuvre = $fin_oeuvre - $milieu_oeuvre;
        $fin_aut = $fin_aut - $milieu_aut;
#    exit;
    }
    print "\n";
}
$b->finish;
$d->finish;
merci!!!