Как я могу получить длину строки в Perl? - PullRequest
48 голосов
/ 22 октября 2008

Что такое Perl-эквивалент strlen()?

Ответы [ 4 ]

72 голосов
/ 22 октября 2008
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.
42 голосов
/ 22 октября 2008

Хотя 'length ()' - правильный ответ, который следует использовать в любом здравом коде, Ужас длины Абигейл следует упомянуть, хотя бы ради знаний Perl.

По сути, трюк состоит в использовании возвращаемого значения универсального оператора транслитерации:

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

y /// c заменяет все символы на себя (благодаря опции дополнения 'c') и возвращает количество замененных символов (так, по сути, длину строки).

33 голосов
/ 22 октября 2008
length($string)
0 голосов
/ 26 февраля 2018

Функция length():

$string ='String Name';
$size=length($string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...