機能 length() Perl

は、Perlプログラミング言語を搭機能 length(). この関数が返す文字列の長さは、渡された引数の機能です。

次に例を示します。

▶ Run
#!/usr/bin/perl

print( length('Hello') );

このプログラム表示に 5. ラ 'Hello' 五文字です。

引数

my $length = length($str);

場の機能 length() 通の単一の引数の機能が動作します。

まず、任意の引数の仕様が $_. ここでは一例です(プログラムを表示 4):

▶ Run
#!/usr/bin/perl

$_ = 'asdf';

print( length() );

場の機能 length() パスを一つ以上の引数でエラー:

Too many arguments for length at script.pl line 3, near "'a') "
Execution of script.pl aborted due to compilation errors.

戻り値

機能 length() のいずれかを返します undefまたは正の整数です。 この機能を返します undef の場合のみでした undef.

このことは、個人だけでなく、それぞれ length() を返します undef. 彼らはすべて等価です。

▶ Run
#!/usr/bin/perl

use Data::Dumper;

warn Dumper length(undef);
▶ Run
#!/usr/bin/perl

use Data::Dumper;

$_ = undef;

warn Dumper length();
▶ Run
#!/usr/bin/perl

use Data::Dumper;

warn Dumper length();

Unicode

機能 length() を返す文字数の文字列ではなく、バイト数が に必要であることを行ったフラグこのような文字列をUnicodeで扱います。 このフラグを自動的に表示され、文字列を記述し、コードの場合プログラム あ use utf8;. ここではプログラムで返します 7 は、正しい番号 文字をこの文字列は:

▶ Run
#!/usr/bin/perl

use utf8;

print( length('АБВГДЕЁ') );

ただし、プログラムno use utf8;の文字列を定義するプログラム としてのバイトシーケンスの機能 length() バイト数を返します. ここではプログラムを利用し、同じ文字列としては前例が このプログラムを表示 14 (ライン 7 文字の書きは バイト):

▶ Run
#!/usr/bin/perl

print( length('АБВГДЕЁ') );

# 例

ここで、このプログラムを作成示機能 length():

▶ Run
#!/usr/bin/perl

use feature qw(say);

my $arr = [1, 2, 3];
my $hash = { a => 1 };
my $sub = sub { return 1 };

foreach my $var ('12', 12, 0xff, 0b1000, 'S', 'String', $arr, $hash, $sub ) {
    say $var . ' - ' . length($var);
}

の出力からこのプログラム:

12 - 2
12 - 2
255 - 3
8 - 1
S - 1
String - 6
ARRAY(0x561a04e48578) - 21
HASH(0x561a04e60cf8) - 20
CODE(0x561a04e61370) - 20

機能 length() を返す値と同じライン '12' の数 12 (数 2). 十六進数 0xff255 十進で表わすと length() 件数を返却しま 3. 作品に同一の数はバイナリ表現します。●

機能 length()に 使用できないカウント数の配列の要素またはハッシュ. どのようなこの記述は以下のページ:

のためのARRAYREFとHASHREF機能 length() の数を返します。文字の文字列 'ARRAY(0x561a04e48578)'.

公式文書

ここでは、出力のコマンド perldoc -f length:

       length EXPR
       length  Returns the length in characters of the value of EXPR.  If EXPR
               is omitted, returns the length of $_.  If EXPR is undefined,
               returns "undef".

               This function 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.

               Like all Perl character operations, length() normally deals in
               logical characters, not physical bytes.  For how many bytes a
               string encoded as UTF-8 would take up, use
               "length(Encode::encode_utf8(EXPR))" (you'll have to "use
               Encode" first).  See Encode and perlunicode.

関連する話題

その他の記事