Bonjour,

Je ne connais pas du tout le langage perl, mais j'ai besoin d'un petit coup de main pour faire tourner ce script
Quand je lance le script, j'ai toujours '0' en resultats
Je crois par intuition que c'est la ligne suivante qui est en cause et je récupère tout simplement la chaine dans la variable @res :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
@res = `lynx -dump http://localhost:80/server-status`;
Voici le code complet :
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
#!/usr/bin/perl
 
# depends on availability of status and extended status info from your
# Apache webserver -- your httpd.conf needs to include something like the
# following: (uncommented)
#<Location /server-status>
#    SetHandler server-status
#    Order allow,deny
#    Allow from localhost
#</Location>
#ExtendedStatus On
 
# can return hits or bytes (counters)
 
@res = `lynx -dump http://localhost:80/server-status`;
 
foreach $res (@res) {
    if ($res =~ /Server uptime: (.*)$/) { $up = $1; last } else { next }
    if ($res =~ /Server at/) { $server = $res; last } else { next }
}
 
@res = `lynx -dump http://localhost:80/server-status?auto`;
 
foreach $res (@res) {
    if ($res =~ /Total Accesses: (\d+)/) { $d1 = $1; next }
    if ($res =~ /Total kBytes: (\d+)/) { $d2 = $1 * 1024; next }
}
 
$d1 = int($d1);
$d2 = int($d2);
 
if ($ARGV[0] eq "hits") {
    print "$d1\n";
    print "$d1\n";
} elsif ($ARGV[0] eq "bytes") {
    print "$d2\n";
    print "$d2\n";
}
 
print "$up\n";
print "$server";
Merci d'avance