Perl 配列は、スカラー値を格納するリスト変数です。変数にはさまざまな型を使用できます。
配列変数は @ で始まります。配列要素にアクセスするには、 $ + 変数名 + [インデックス値]の形式で読み取ります。例は次のとおりです。
プログラム中では$記号をでエスケープし、そのまま出力できます。
$hits[0] = 25$hits[1] = 30$hits[2] = 40$names[0] = google$names[1] = codercto$names[2] = タオバオ
配列変数は@記号で始まり、要素は括弧内に置かれます。 qwで始まる配列を定義することもできます。
@array = (1, 2, 'Hello');@array = qw/これは配列です/;
2 番目の配列ではqw//演算子を使用し、配列要素がスペースで区切られた文字列のリストを返します。もちろん、複数行を使用して配列を定義することもできます。
@days = qw/googletaabao...codercto/;
次のように、インデックスを使用して配列に値を割り当てることもできます。
$array[0] = '月曜日';...$array[6] = '日曜日';
配列要素にアクセスするには、 $ + 変数名 + [インデックス値]の形式で読み取ります。例は次のとおりです。
googletaovaocoderctocodercto
配列のインデックス値は 0 から始まります。つまり、0 が最初の要素、1 が 2 番目の要素などとなります。
負の数値は逆方向から読み取られます。-1 が最初の要素、-2 が 2 番目の要素です。
Perl では、開始値 + .. + 終了値 という形式で出力できる配列形式が提供されています。
1 2 3 4 5 6 7 8 9 1010 11 12 13 14 15 16 17 18 19 20a bcdefghijklmnopqrstuv wxyz
配列のサイズは、配列内のスカラー コンテキストによって決まります。 :
@array = (1,2,3);print "配列サイズ: ",スカラー @array,"n";
配列の長さは、要素の数ではなく、配列の物理サイズを返します。次の例を見てください。
配列サイズ: 51 最大インデックス: 50
出力からわかるように、配列要素は 4 つだけですが、配列サイズは 51 です。
Perl には、配列要素を追加および削除するための便利な関数がいくつか用意されています。
これまでにプログラミングの経験がなければ、関数とは何なのか疑問に思うかもしれません。実際、前に使用したprint は出力関数です。
次の表に、配列で一般的に使用される演算関数を示します。
シリアルナンバー | 種類と説明 |
---|---|
1 | @ARRAY、LISTをプッシュ リストの値を配列の最後に置きます |
2 | ポップ@ARRAY 配列の最後の値をポップして返します。 |
3 | シフト @ARRAY 配列の最初の値をポップして返します。配列のインデックス値も 1 ずつ減ります。 |
4 | シフト解除 @ARRAY、LIST リストを配列の前に配置し、新しい配列の要素の数を返します。 |
配列をカットし、カット後に新しい配列を返すことができます。
ウェイボー QQ フェイスブック
配列インデックスには有効なインデックス値を指定する必要があります。これには、正の数値の後に負の数値を指定できます。各インデックス値はカンマで区切られます。
連続インデックスの場合は、 .. を使用して指定範囲を示すことができます。
ウェイボー QQ フェイスブック
splice() 関数は、Perl で配列要素を置換するために使用されます。構文形式は次のとおりです。
スプライス @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]
パラメータの説明:
@ARRAY: 置換される配列。
オフセット: 開始位置。
LENGTH: 置換する要素の数。
LIST: 置換要素のリスト。
次の例では、配列内の 6 番目の要素から始まる 5 つの要素を置き換えます。
交換前 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 交換後 - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20
Perl で文字列を配列に変換するには、split() 関数を使用します。構文は次のとおりです。
分割 [ PATTERN [ , EXPR [ , LIMIT ] ] ]
パラメータの説明:
パターン: 区切り文字、デフォルトはスペースです。
EXPR: 文字列の数を指定します。
LIMIT: このパラメータが指定されている場合、配列内の要素の数が返されます。
オコムウェイボ
Perl では、join() 関数を使用して配列を文字列に変換します。構文は次のとおりです。
EXPR、LIST を結合する
パラメータの説明:
EXPR: コネクタ。
LIST: リストまたは配列。
www-codercto-comgoogle、タオバオ、codercto、weibo
Perl での配列の並べ替えには sort() 関数が使用され、構文は次のとおりです。
ソート [サブルーチン] リスト
パラメータの説明:
サブルーチン: ルールを指定します。
LIST: リストまたは配列。
並べ替え前: google taobao codercto facebook 並べ替え後: facebook google codercto taobao
注: 配列の並べ替えは ASCII 数値に基づいて行われます。したがって、配列を並べ替えるときは、並べ替え前に各要素を小文字に変換するのが最善です。
特殊変数$[ は、配列の最初のインデックス値を表し、通常は 0 です。 $[ を1 に設定すると、配列の最初のインデックス値は 1、2 番目のインデックス値は 2 になります。例は次のとおりです。
ウェブサイト: google 淘宝網 codercto facebook@sites[1]: google@sites[2]: 淘宝網
一般に、特殊変数$[の使用はお勧めしません。Perl の新しいバージョンでは、この変数は廃止されました。
以下に示すように、配列の要素はカンマで区切られます。カンマを使用して配列を結合することもできます。
数字 = 1 3 4 5 6
配列内に複数の配列を埋め込み、それらをメイン配列にマージすることもできます。
数字 = 1 3 5 2 4 6
以下に示すように、リストが指定された要素を読み取ることができるようにした後で、リストを配列として使用できます。
var の値は = 1
同様に、配列内で.. を使用して、指定された範囲内の要素を読み取ることができます。
リストの値 = 4 3 2