配列
配列はスカラーをインデックス順に並べたものです。インデックスは0,1,2・・・の数値です。
配列要素の並びはリストで表示されます。
・配列変数(@)  例:@data ← @(英字)(英字/数字/下線)、大/小文字を区別
・配列要素 $data[0],$data[1] ・・・
・(1 .. 5) は (1,2,3,4,5) と同じ
・(A .. E) は (A,B,C,D,E) と同じ
・@data = (4,6,8)とすると、
   $x = @data;  → $xは配列要素数3になる。
   ($x) = @data; → $xは最初の要素4になる。
   $x = $#data; → $xは最後のインデックス2になる。

push   配列の最後に要素を追加する。 例 push(@data,$x);
unshift 配列の最初に要素を追加する。 例 unshift(@data,$x); 
reverse 配列の順番を反転する。    例 @data = reverse @data;
sort   配列の要素を並べ替える。
      例 @data = sort @data;        配列の要素をアスキーコード順に並べ替える。
        @data = sort {$b <=> $a} @data; 配列の要素を数値の大きい順に並べ替える。
■プログラム (sample11.cgi)
@data = (1 .. 5); print "@data<br>";
@data = (A .. E); print "@data<br>";

@data = (4,6,8);
$x = @data; print "$x<br>";
($x) = @data; print "$x<br>";
$x = $#data; print "$x<br>";

$x = 10; $y = 2;
push(@data,$x); print "@data<br>";
unshift(@data,$y); print "@data<br>";
@data = reverse @data; print "@data<br>";

@data = ('B','C','A'); print "配列要素 :$data[0],$data[1],$data[2]<br>";
@sdata = sort @data; print "アスキー順:$sdata[0],$sdata[1],$sdata[2]<br>";
@data = (3,20,1); @sdata = sort @data; print "アスキー順:$sdata[0],$sdata[1],$sdata[2]<br>";
@sdata = sort {$b <=> $a} @data; print "数値順  :$sdata[0],$sdata[1],$sdata[2]";
■実行結果
1 2 3 4 5
A B C D E
3
4
2
4 6 8 10
2 4 6 8 10
10 8 6 4 2
配列要素 :B,C,A
アスキー順:A,B,C
アスキー順:1,20,3
数値順  :20,3,1


HOME Copyright (C) CGI-design All Rights Reserved.