strlen()
と同等のPerlは何ですか?
perldoc -f length length EXPR length EXPRの値の文字の長さを返します。 EXPRが 省略された場合、$ _の長さを返します。 配列全体またはハッシュでこれらを使用して、これらの要素がいくつあるかを調べることはできません。 の場合は、それぞれ「スカラー@array」と「スカラーキー%hash」を使用します。 文字に注意してください。EXPRがUnicodeの場合、num- バイト数ではなく、文字数。 バイト単位で長さを取得するには、「do {use bytes; length(EXPR)}」を使用します。バイトを参照してください。
'length()'は正しいコードで使用すべき正しい答えですが、Perlの伝承のためだけに Abigail's length horror を指定する必要があります。
基本的に、コツはキャッチオール音訳演算子の戻り値を使用することです。
print "foo" =~ y===c; # prints 3
y /// cはすべての文字をそれ自体で置き換え(補完オプション 'c'のおかげ)、置き換えられた文字の数(つまり、事実上、文字列の長さ)を返します。
length($string)
length()
関数:
$string ='String Name';
$size=length($string);
Length($ string)はよりシンプルで読みやすいので、これを使用するべきではありませんが、コードを調べているときにこれらのいくつかに遭遇し、混乱しました。
my $length = map $_, $str =~ /(.)/gs;
my $length = () = $str =~ /(.)/gs;
my $length = split '', $str;
最初の2つは、グローバルフラグを使用して文字列内の各文字を照合し、次に返された一致のリストをスカラーコンテキストで使用して文字数を取得することで機能します。 3番目は、正規表現マッチングの代わりに各文字で分割し、結果のリストをスカラーコンテキストで使用することにより、同様に機能します。