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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| #!/usr/bin/perl -w
use strict;
use diagnostics;
########################FONCTION########################
sub function{
#Le tableau solutions contiendra comme première valeur
#la valeur maximale de nos tables de hachages
#et comme 2ème valeur l'index de notre tableau passé en argument
#contenant les références de nos tables et qui pointera sur la table ayant
#la plus grande valeur
my @solutions;
$solutions[0] = 0;
#On cherche quel est la plus grande valeur contenue
#dans nos tables de hachages
for(my $i=0; $i<scalar(@_); $i++){
my %hash = %{$_[$i]};
my @tablo = @{$hash{"m"}};
my $value = $tablo[0];
if($value>$solutions[0]){
$solutions[0] = $value;
$solutions[1] = $i;
}
}
return @solutions;
}
######################MAIN####################
#########VARIABLES À DÉCLARER############
my %i = (
m => [ "7", "http://www.developpez.com" ]
);
my %t = (
m => [ "5", "http://gldavid.developpez.com" ]
);
my %u = (
m => [ "3", "http://www.google.com" ]
);
my @tab = ();
#Pour se simplifier la vie, on va ranger nos tables de hachages
#dans une liste. On stocke les références de nos tables.
my$i = \%i;
my$t = \%t;
my$u = \%u;
push(@tab, $i);
push(@tab, $t);
push(@tab, $u);
#Et on lance notre fonction de recherche.
#Celle-ci renvoit un tableau.
my @sol = function(@tab);
#Affichage de la solution
my %hash = %{$tab[$sol[1]]};
my @tablo = @{$hash{"m"}};
my $link = $tablo[1];
print "Le lien à garder est $link.\n"; |
Partager