Lut, j'ai un petit problème avec un string et je n'arrive pas a m'en débarasser, je me suis renseigné sur l'erreur suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Can't use string ("text/html") as an ARRAY ref while "strict refs" in use at C:\Documents and Settings\vod_evil\Bureau\nod\5.pl line 422.
sur le site http://perl.enstimac.fr/DocFr/perldiag.html.

Mais je n'arrive pas a régler mon problème, voila ce que me dit perl :

text/html; charset=iso-8859-1
text/html
text/html
Can't use string ("text/html") as an ARRAY ref while "strict refs" in use at C:\Documents and Settings\Teddy\Bureau\nod\5.pl line 422.
tout vas bien puis d'un coup j'ai cette erreur

Mon code étant top long je ne peut pas tout mettre ici :

Je fait mes requetes http grace a cette fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
sub get_http_request {
 my $request = HTTP::Request->new('GET', $_[0]);
 my $res = $ua->request($request);
 LWP::Debug::trace("$res");
 return $res;
}
puis je déréférence le hash de retour comme ceci
pour la suite de mon prgramme je crée une nouvelles référence
que j'envoie a un sous programme comme ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
my @donnes = build_data($wp);

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
sub build_data {
 my $res = shift;
   my $url = $res->{'_request'}{'_uri'};
   my $code = $res->{'_content'};
   my $verbose = robot_tag($code);
   my $date = date();
   my $base = $url;
 
   # Récupération de la taille du document
   my $size = $res->{'_headers'}{'content-length'};
       if ( !$size ) {
         $size = 0;
       } elsif ( $size ne "0" || "undef" ) {
            $size /= 1024;
            $size = substr($size, 0, 4);
       }
        else {
	     $size = 0;
       }
 
   my $content_type=  ctype($res->{'_headers'}{'content-type'}[0]);  
 
   my $revisit = revisit_tag($code);
 
   # On cherche si le document a un header last-modified
   my $last_modified;
   unless ( !$res->{'_headers'}{'last-modified'} ) {
     $last_modified = http_date($res->{'_headers'}{'last-modified'});
   }
    else {
	  $last_modified = "default";
   }
 return "$verbose","$code","$date","$url","$size","$content_type","$revisit","$last_modified";
}
qui renvoie un tableau contenant le code de la page etc...

Mon problème ce situe ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
my $content_type=  ctype($res->{'_headers'}{'content-type'}[0]);
ma fonction ctype sert juste a tronquer le header content_type s'il est de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
text/html; charset=iso-8859-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
sub ctype {
 my $cp = shift;
 if ( $cp =~ /;/ ) {
      $cp =~ s/;(.*)//;
 }
  return $cp;
}
voila

Merci de votre aide[/url]