my $ref_array = $tree->{_content};
for my $htmlElt (@{$ref_array}) {
printHtmlElt($htmlElt);
}
$tree->delete;
}
sub printHtmlElt {
my $elt = shift;
my $ref = shift || "";
if (ref $elt) {
my %attributes=$elt->all_external_attr;
while((my $cle, my $valeur)=each(%attributes)) {
push(@$parse,"blabla");
}
foreach my $item ($elt->content_list) {
if (ref $item) {
printHtmlElt($item,$ref.".".$elt->{_tag});
}
else {
if (length($item)>1) {
push(@$parse,"blabla");
}
}
}
}
}
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict
et use warnings dans mon programme): global symbol "$parse" requires
explicit package name, erreur qui se produit d'habitude quand j'oublie
de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela
fonctionne?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
tiscali
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé: &A();
sub B() { print $$referencetexte, "n"; # valeur n'est plus contenue que dans la référence! }
sub A() { my $Texte = "Voici un petit texte"; $referencetexte = $Texte; # Ici est définie une référence &B(); }
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela donne: sub language { my $lang = shift; my $html = shift; my @conf = shift;
my @html; my $parse = @html; # Ici est définie une référence
my $ref_array = $tree->{_content}; for my $htmlElt (@{$ref_array}) { printHtmlElt($htmlElt); }
$tree->delete; }
sub printHtmlElt { my $elt = shift; my $ref = shift || "";
if (ref $elt) { my %attributes=$elt->all_external_attr; while((my $cle, my $valeur)êch(%attributes)) { push(@$parse,"blabla"); }
foreach my $item ($elt->content_list) { if (ref $item) { printHtmlElt($item,$ref.".".$elt->{_tag}); } else { if (length($item)>1) { push(@$parse,"blabla"); } } } } }
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict et use warnings dans mon programme): global symbol "$parse" requires explicit package name, erreur qui se produit d'habitude quand j'oublie de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela fonctionne?
Merci Julien
$toto=1;
print $toto; # $toto = 1
&func($toto); # le "&" est facultatif
# "$var" est la referance de la variable
print $toto; # $toto = 5
sub func{
$titi=shift; # referance de $toto
$$titi=5; # remplacer le contenu de $toto par 5
# "$$var" est le contenu de la variable
# pointe par $var
}
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour
Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un
exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé:
&A();
sub B()
{
print $$referencetexte, "n"; # valeur n'est plus contenue que dans la
référence!
}
sub A()
{
my $Texte = "Voici un petit texte";
$referencetexte = $Texte; # Ici est définie une référence
&B();
}
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela donne:
sub language {
my $lang = shift;
my $html = shift;
my @conf = shift;
my @html;
my $parse = @html; # Ici est définie une référence
my $ref_array = $tree->{_content};
for my $htmlElt (@{$ref_array}) {
printHtmlElt($htmlElt);
}
$tree->delete;
}
sub printHtmlElt {
my $elt = shift;
my $ref = shift || "";
if (ref $elt) {
my %attributes=$elt->all_external_attr;
while((my $cle, my $valeur)êch(%attributes)) {
push(@$parse,"blabla");
}
foreach my $item ($elt->content_list) {
if (ref $item) {
printHtmlElt($item,$ref.".".$elt->{_tag});
}
else {
if (length($item)>1) {
push(@$parse,"blabla");
}
}
}
}
}
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict
et use warnings dans mon programme): global symbol "$parse" requires
explicit package name, erreur qui se produit d'habitude quand j'oublie
de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela
fonctionne?
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé: &A();
sub B() { print $$referencetexte, "n"; # valeur n'est plus contenue que dans la référence! }
sub A() { my $Texte = "Voici un petit texte"; $referencetexte = $Texte; # Ici est définie une référence &B(); }
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela donne: sub language { my $lang = shift; my $html = shift; my @conf = shift;
my @html; my $parse = @html; # Ici est définie une référence
my $ref_array = $tree->{_content}; for my $htmlElt (@{$ref_array}) { printHtmlElt($htmlElt); }
$tree->delete; }
sub printHtmlElt { my $elt = shift; my $ref = shift || "";
if (ref $elt) { my %attributes=$elt->all_external_attr; while((my $cle, my $valeur)êch(%attributes)) { push(@$parse,"blabla"); }
foreach my $item ($elt->content_list) { if (ref $item) { printHtmlElt($item,$ref.".".$elt->{_tag}); } else { if (length($item)>1) { push(@$parse,"blabla"); } } } } }
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict et use warnings dans mon programme): global symbol "$parse" requires explicit package name, erreur qui se produit d'habitude quand j'oublie de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela fonctionne?
Merci Julien
tiscali
tiscali wrote:
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
la declaration de $parse n'est pas faite dans la fonction "printHtmlElt".
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé: &A();
sub B() { print $$referencetexte, "n"; # valeur n'est plus contenue que dans la référence! }
sub A() { my $Texte = "Voici un petit texte"; $referencetexte = $Texte; # Ici est définie une référence &B(); }
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela donne: sub language { my $lang = shift; my $html = shift; my @conf = shift; my @html; my $parse = @html; # Ici est définie une référence my $tree = HTML::TreeBuilder->new;
my $ref_array = $tree->{_content}; for my $htmlElt (@{$ref_array}) { printHtmlElt($htmlElt); }
$tree->delete; } sub printHtmlElt { my $elt = shift; my $ref = shift || ""; if (ref $elt) { my %attributes=$elt->all_external_attr; while((my $cle, my $valeur)êch(%attributes)) { push(@$parse,"blabla"); } foreach my $item ($elt->content_list) { if (ref $item) { printHtmlElt($item,$ref.".".$elt->{_tag}); } else { if (length($item)>1) { push(@$parse,"blabla"); } } } } }
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict et use warnings dans mon programme): global symbol "$parse" requires explicit package name, erreur qui se produit d'habitude quand j'oublie de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela fonctionne?
Merci Julien
tiscali wrote:
$toto=1;
print $toto; # $toto = 1
&func($toto); # le "&" est facultatif
# "$var" est la referance de la variable
print $toto; # $toto = 5
sub func{
$titi=shift; # referance de $toto
$$titi=5; # remplacer le contenu de $toto par 5
# "$$var" est le contenu de la variable
# pointe par $var
}
la declaration de $parse n'est pas faite dans la fonction
"printHtmlElt".
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour
Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un
exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé:
&A();
sub B()
{
print $$referencetexte, "n"; # valeur n'est plus contenue que dans
la référence!
}
sub A()
{
my $Texte = "Voici un petit texte";
$referencetexte = $Texte; # Ici est définie une référence
&B();
}
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela
donne:
sub language {
my $lang = shift;
my $html = shift;
my @conf = shift;
my @html;
my $parse = @html; # Ici est définie une référence
my $tree = HTML::TreeBuilder->new;
my $ref_array = $tree->{_content};
for my $htmlElt (@{$ref_array}) {
printHtmlElt($htmlElt);
}
$tree->delete;
}
sub printHtmlElt {
my $elt = shift;
my $ref = shift || "";
if (ref $elt) {
my %attributes=$elt->all_external_attr;
while((my $cle, my $valeur)êch(%attributes)) {
push(@$parse,"blabla");
}
foreach my $item ($elt->content_list) {
if (ref $item) {
printHtmlElt($item,$ref.".".$elt->{_tag});
}
else {
if (length($item)>1) {
push(@$parse,"blabla");
}
}
}
}
}
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use
strict et use warnings dans mon programme): global symbol "$parse"
requires explicit package name, erreur qui se produit d'habitude quand
j'oublie de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela
fonctionne?
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
la declaration de $parse n'est pas faite dans la fonction "printHtmlElt".
c egalement valable pour les tableau, tableau associatif, et les fonction
julien wrote:
Bonjour Je souhaite utiliser des pointeurs dans 2 sous-programmes. Voici un exemple d'utilisation de poiteurs sur des scalaires que j'ai trouvé: &A();
sub B() { print $$referencetexte, "n"; # valeur n'est plus contenue que dans la référence! }
sub A() { my $Texte = "Voici un petit texte"; $referencetexte = $Texte; # Ici est définie une référence &B(); }
J'ai essayé de l'adapter pour faire un pointeur sur un tableau. Cela donne: sub language { my $lang = shift; my $html = shift; my @conf = shift; my @html; my $parse = @html; # Ici est définie une référence my $tree = HTML::TreeBuilder->new;
my $ref_array = $tree->{_content}; for my $htmlElt (@{$ref_array}) { printHtmlElt($htmlElt); }
$tree->delete; } sub printHtmlElt { my $elt = shift; my $ref = shift || ""; if (ref $elt) { my %attributes=$elt->all_external_attr; while((my $cle, my $valeur)êch(%attributes)) { push(@$parse,"blabla"); } foreach my $item ($elt->content_list) { if (ref $item) { printHtmlElt($item,$ref.".".$elt->{_tag}); } else { if (length($item)>1) { push(@$parse,"blabla"); } } } } }
J'ai un message à propos de push(@$parse,"blabla"); (j'ai mis use strict et use warnings dans mon programme): global symbol "$parse" requires explicit package name, erreur qui se produit d'habitude quand j'oublie de délcaler une variable par my $variable;
Comment puis-je modifier ma déclaration de pointeur pour que cela fonctionne?
Merci Julien
julien
tiscali wrote:
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
c egalement valable pour les tableau, tableau associatif, et les fonction Merci, cet example plus simple m'a permis de régler mon problème pour
les tableaux. Voici le même programme pour les pointeurs de tableaux, au cas où ça intéresse quelqu'un: my @toto=("1","2"); print @toto; print "n"; # @toto = 1 2 &func(@toto); # le "&" est facultatif # "$var" est la referance de la variable print @toto; print "n"; # @toto = 1 2 3 4
sub func{ my $titi=shift; # referance de @toto $$titi[2]="3"; # remplacer le contenu de $toto par 5 push(@$titi,"4"); # "$$var" est le contenu de la variable # pointe par $var }
Julien
tiscali wrote:
$toto=1;
print $toto; # $toto = 1
&func($toto); # le "&" est facultatif
# "$var" est la referance de la variable
print $toto; # $toto = 5
sub func{
$titi=shift; # referance de $toto
$$titi=5; # remplacer le contenu de $toto par 5
# "$$var" est le contenu de la variable
# pointe par $var
}
c egalement valable pour les tableau, tableau associatif, et les fonction
Merci, cet example plus simple m'a permis de régler mon problème pour
les tableaux. Voici le même programme pour les pointeurs de tableaux, au
cas où ça intéresse quelqu'un:
my @toto=("1","2");
print @toto;
print "n"; # @toto = 1 2
&func(@toto); # le "&" est facultatif
# "$var" est la referance de la variable
print @toto;
print "n"; # @toto = 1 2 3 4
sub func{
my $titi=shift; # referance de @toto
$$titi[2]="3"; # remplacer le contenu de $toto par 5
push(@$titi,"4"); # "$$var" est le contenu de la variable
# pointe par $var
}
$toto=1; print $toto; # $toto = 1 &func($toto); # le "&" est facultatif # "$var" est la referance de la variable print $toto; # $toto = 5 sub func{ $titi=shift; # referance de $toto $$titi=5; # remplacer le contenu de $toto par 5 # "$$var" est le contenu de la variable # pointe par $var }
c egalement valable pour les tableau, tableau associatif, et les fonction Merci, cet example plus simple m'a permis de régler mon problème pour
les tableaux. Voici le même programme pour les pointeurs de tableaux, au cas où ça intéresse quelqu'un: my @toto=("1","2"); print @toto; print "n"; # @toto = 1 2 &func(@toto); # le "&" est facultatif # "$var" est la referance de la variable print @toto; print "n"; # @toto = 1 2 3 4
sub func{ my $titi=shift; # referance de @toto $$titi[2]="3"; # remplacer le contenu de $toto par 5 push(@$titi,"4"); # "$$var" est le contenu de la variable # pointe par $var }