[もくじへ|トップページへ|前ページへ|次ページへ]
に更新
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
4.配列
(1)リスト
Perlでは、通常の配列変数は変数名の前に@をつけます。
たとえば、
@tanaka =
("ABC","123","1.25","A13","DEF");
と書くと、配列変数@tanakaに順に代入されます。このように、1行で書く書
式をリストといいます。
配列は順番を0から数えることになっており、
@tanakaの中のDEFを取り出すには、$tanaka[4]とします。
あれ?頭文字が$になっていますね。
そうなんです。[添え字]で指定するときは、@ではなく$を使います。
ですから、
@tanaka =
("ABC","123","1.25","A13","DEF");
は添え字を使うと、次のようになります。
$tanaka[0] = "ABC";
$tanaka[1] =
"123";
$tanaka[2] =
"1.25";
$tanaka[3] =
"A13";
$tanaka[4] = "DEF";
添え字は$tanaka[$n]のように、変数や式でもかまいません。
(2)スライス
@tanakaの0番目と2、3、4番目の要素を表示するには、
print
"@tanaka[0,2,3,4]";
と記述しますが、次のように記述することもできます。
print
"@tanaka[0,2..4]";
これをスライスといいます。抜き出す要素が多いとき便利です。
(3)連想配列
文字列を添え字(キーワード)とした配列を連想配列といいます。
連想配列は変数名の前に%を付けます。
たとえば、
%Kojin =
("No","1","Name","Ryokan","Old","44");
これは、
$Kojin{No}
= "1";
$Kojin{Name} =
"Ryokan";
$Kojin{Old} = "44";
と同じです。
この場合、%が$に、( )が{ }になることに注意してください。
連想配列を次のように普通の配列に代入してから、表示させることもできます。
@data = %Kojin;
print "@data\n";
配列のプログラム
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n";
print
"<TITLE>Hash</TITLE>\n";
print "<BODY>\n";
#
# 配列全体(リスト)
#
@tanaka =
("ABC","123","1.25","A13","DEF");
# 代入文
print "@tanaka<BR>\n"; #
表示、改行
#
#
これは、次のように記述してもいい
#
$tanaka[0] = "ABC";
$tanaka[1] = "123";
$tanaka[2] = "1.25";
$tanaka[3] = "A13";
$tanaka[4] = "DEF";
print "@tanaka<BR>\n";
#
# 添え字に変数を使った場合
#
print "添え字が文字の時<BR>\n";
$n = "3";
print "$tanaka[$n]<BR>\n";
#
# スライス
#
print "スライス<BR>\n";
print "@tanaka[0,2..4]<BR>\n";
#
# 連想配列
#
print "連想配列1<BR>\n";
%Kojin =
("No","1","Name","Ryokan","Old","44");
print "$Kojin{No}\n";
print "$Kojin{Name}\n";
print "$Kojin{Old}\n";
print "<BR>\n";
#
# 連想配列を普通の配列に代入
#
print "連想配列2<BR>\n";
@data = %Kojin;
print "@data\n";
print "</BODY>\n";
print "</HTML>\n";
|
このプログラムに適当な名前をつけて、テキストモードでアップロードします。
パーミッションは755に設定してください。
テスト実行
hairetu.cgi
をクリックしてください。
うまく動きましたか?
動かないときは、サポート掲示板へどうぞ。

[もくじへ|トップページへ|前ページへ|次ページへ]
|