2008-10-21 10 views

Répondre

70
perldoc -f length 

    length EXPR 
    length Returns the length in characters of the value of EXPR. If EXPR is 
      omitted, returns length of $_. Note that this cannot be used on an 
      entire array or hash to find out how many elements these have. For 
      that, use "scalar @array" and "scalar keys %hash" respectively. 

      Note the characters: if the EXPR is in Unicode, you will get the num- 
      ber of characters, not the number of bytes. To get the length in 
      bytes, use "do { use bytes; length(EXPR) }", see bytes. 
+0

Merci! Rep facile pour vous! :) – Kip

+0

Appelez-moi "Quick Draw". –

+17

Votre réponse serait meilleure si elle avait un exemple. –

41

Bien que « longueur() » est la bonne réponse qui doit être utilisé dans un code sain d'esprit, Abigail's length horror doit mentionner, si seulement pour le bien des traditions Perl.

En fait, l'astuce consiste à utiliser la valeur de retour du fourre-tout opérateur de translittération:

print "foo" =~ y===c; # prints 3 

y /// c remplace tous les caractères avec eux-mêmes (grâce à l'option du complément « c »), et renvoie le nombre de caractères remplacé (donc, effectivement, la longueur de la chaîne).

+5

Oh, c'est adorable. Horrible, mais adorable. –

+1

Les modes de comptage de y ne modifient pas réellement la chaîne, donc ils fonctionneront bien même sur les valeurs en lecture seule. – ysth

+4

C'est génial d'une manière terrible. –

-2

La fonction length():

$string ='String Name'; 
$size=length($string);