Ça devrait le faire (afficher 3 puis 4). Le truc réside donc dans l'utilisation de 'scalar'.
On peut aussi utiliser :
print "Le tableau 0 contient @{[scalar(@{$tableau->[0]})]} elementsn";
Mais c'est plus lourd ;-).
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
ctemp1
Merci à tous pour vos réponses (qui se recoupent un p'tit peu, normal :-) )
Ca marche parfaitement.
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
Merci à tous pour vos réponses (qui se recoupent un p'tit peu, normal
:-) )
Ca marche parfaitement.
Une dernière petite question sur le sujet, bien que :
@{$tableau->[0]};
N'affiche pas la taille (j'ai bien compris que c'est un contexte de
liste), en voulant concaténer les différents éléments avec un espace
me renvoie en revanche la taille du tableau...
Merci à tous pour vos réponses (qui se recoupent un p'tit peu, normal :-) )
Ca marche parfaitement.
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
Laurent Wacrenier
C. Tobini écrit:
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
La concaténation force le conexte scalaire.
C. Tobini <ctemp1@free.fr> écrit:
Une dernière petite question sur le sujet, bien que :
@{$tableau->[0]};
N'affiche pas la taille (j'ai bien compris que c'est un contexte de
liste), en voulant concaténer les différents éléments avec un espace
me renvoie en revanche la taille du tableau...
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
Comme son nom l'indique le "con-texte" n'est pas le texte lui-même mais ce qu'il y a autour. C'est donc vous (le programmeur) qui fixez le contexte.
Or l'opérateur . (point) fixe un contexte scalaire à ses opérateurs. Donc @{$tableau->[0]} est évalué dans un contexte scalaire et renvoie par conséquent son nombre d'éléments.
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
Une dernière petite question sur le sujet, bien que :
@{$tableau->[0]};
N'affiche pas la taille (j'ai bien compris que c'est un contexte de
liste), en voulant concaténer les différents éléments avec un espace
me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
Comme son nom l'indique le "con-texte" n'est pas le texte lui-même mais ce
qu'il y a autour. C'est donc vous (le programmeur) qui fixez le contexte.
Or l'opérateur . (point) fixe un contexte scalaire à ses opérateurs. Donc
@{$tableau->[0]} est évalué dans un contexte scalaire et renvoie par
conséquent son nombre d'éléments.
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
Une dernière petite question sur le sujet, bien que : @{$tableau->[0]}; N'affiche pas la taille (j'ai bien compris que c'est un contexte de liste), en voulant concaténer les différents éléments avec un espace me renvoie en revanche la taille du tableau...
ex : @{$tableau->[0]}." ";
Là j'avoue que je ne comprend pas le rapport !
Comme son nom l'indique le "con-texte" n'est pas le texte lui-même mais ce qu'il y a autour. C'est donc vous (le programmeur) qui fixez le contexte.
Or l'opérateur . (point) fixe un contexte scalaire à ses opérateurs. Donc @{$tableau->[0]} est évalué dans un contexte scalaire et renvoie par conséquent son nombre d'éléments.
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
ctemp1
La concaténation force le contexte scalaire.
Très bien, c'est bon à savoir.
A noter que je me serais tout de même fait taxer de bricolage si j'avais concaténé pour renvoyer la taille du tableau :-)
Merci beaucoup à tous pour vos réponses.
C. Tobini
La concaténation force le contexte scalaire.
Très bien, c'est bon à savoir.
A noter que je me serais tout de même fait taxer de bricolage si
j'avais concaténé pour renvoyer la taille du tableau :-)