58 votes

Comment obtenir la longueur d'une chaîne de caractères en Perl ?

Quel est l'équivalent en Perl de strlen() ?

-1voto

pslessard Points 63

Vous ne devriez pas utiliser ceci, puisque length($string) est plus simple et plus lisible, mais je suis tombé sur certains d'entre eux en regardant du code et j'étais confus, donc au cas où quelqu'un d'autre le ferait, ceux-ci obtiennent aussi la longueur d'une chaîne :

my $length = map $_, $str =~ /(.)/gs;
my $length = () = $str =~ /(.)/gs;
my $length = split '', $str;

Les deux premières fonctionnent en utilisant le drapeau global pour faire correspondre chaque caractère de la chaîne, puis en utilisant la liste retournée des correspondances dans un contexte scalaire pour obtenir le nombre de caractères. La troisième fonctionne de la même manière en séparant chaque caractère au lieu d'effectuer une correspondance regex et en utilisant la liste résultante dans un contexte scalaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X