Что такое Perl-эквивалент strlen()
?
Как получить длину строки в Perl?
Ответ 1
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.
Ответ 2
Хотя 'length()' является правильным ответом, который должен использоваться в любом нормальном коде, ужас длины абигелей следует упомянуть, если только ради Perl lore.
В принципе, трюк состоит в использовании возвращаемого значения оператора транслитерации catch-all:
print "foo" =~ y===c; # prints 3
y///c заменяет все символы самим (благодаря опции дополнения 'c') и возвращает количество замененных символов (так, фактически, длина строки).
Ответ 3
length($string)
Ответ 4
Функция length()
:
$string ='String Name';
$size=length($string);
Ответ 5
Вы не должны использовать это, так как length ($ string) проще и удобочитаемее, но в случае, если кто-то сталкивается с этим, они также получают длину строки:
my $length = map $_, $str =~ /(.)/gs;
my $length = () = $str =~ /(.)/gs;
my $length = split '', $str;