bonjour,
j'ai un probleme avec une boucle while de recherche dans une page, je n'arrive pas à réinitialiser la variable :-O

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
# création de mon parser
my $parser = HTML::Parser->new();
 
# définition des mes evenements
$parser->handler( text  => \&texxt,  "text" );
$parser->handler( start => \&starrt, "tagname,attr" );
$parser->handler( end   => \&ennd,   "tagname" );
 
$parser->parse($page);
$parser->eof;
{
my $in = 0;
  sub starrt {
    my ($tag, $attr) = @_;
    $in++ 
      if $tag eq 'h2';
  }
 
sub ennd {
my ($tag) = @_;
$in-- if ($tag eq 'h2' and $in='1');
}
 
sub texxt {
my ($text) = @_;
push @dataa, $text if ($in );
}
 
sub get_datas {
#print "in : ".$in;
return $dataa[0];
}
}
Le probleme est qu'en retour, j'ai toute les contenus des balises <h2> plus les nouvelle, et je voudrai que a chaque démarage de ma bouche, sa recommence a zero et non pas s'ajoute a la suite.

Je suis désolé mais je débute et j'ai encore pas mal de difficulté avec perl =)

Merci par avance.