J'ai récupéré le script suivant dans le threads
http://www.developpez.net/forums/viewtopic.php?t=363437
J'ai fait un peu le ménage ce qui donne en définitive le script suivant
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
48
49
50
51
52
53 #!C:\Perl\bin\perl.exe ################################## # Tableau d'adresse(s) ################################## @EE = ("http://www.google.com/robots.txt","http://search.msn.fr/robots.txt"); for $X( @EE ) { ################################## # Appelle des fonctions ################################## @EE = find(@EE); @EE = replace(@EE); print "@EE"; # Récupération de robotx.txt ################################## # Recherche des robots.txt ################################## sub find { use LWP::Simple; my @resultat; for my $url( @_ ) { push @resultat, get($url); } return @resultat; } ################################## # Parser robots.txt ################################## sub replace { for my $T( @_ ) { $T =~ s/User-agent: \*//ig; $T =~ s/Allow.*//g; $X =~ s/\/robots\.txt//ig; $T =~ s/Disallow: /$X\/$1/ig; $T =~ s/\/\//\//ig; $T =~ s/http:\//http:\/\//ig; $T =~ s/^\n*//ig; $T =~ s/\n$//ig; return $T; } } }
Mais j'ai un problème insoluble avec la fonction replace, elle ne retourne que le premier item du tableau @EE , j'ai testé divers solutions dont
.........................................................
. Attention code barbare zone 51 lol .
.........................................................
sa ne bug pas mais j'obtient juste résultat 1
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 sub replace { my @resultat; for my $T( @_ ) { push @resultat, $T =~ s/User-agent: \*//ig && $T =~ s/Allow.*//g && $X =~ s/\/robots\.txt//ig && $T =~ s/Disallow: /$X\/$1/ig && $T =~ s/\/\//\//ig && $T =~ s/http:\//http:\/\//ig && $T =~ s/^\n*//ig && $T =~ s/\n$//ig; } return @resultat; }
Ou est le problème ?
Partager