ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 

CGI 作成の初歩
 HTMLページを表示してみる  文字列の置き換え
 複数行のHTMLページを表示  フォームから入力された値を表示
 ソース内にコメントを書く  ファイルに書き出す
 変数を使った簡単な計算  ファイルから読み込む
 条件式を使って分岐する  フォーム入力からファイルに書き出す
 文字列の扱い方を練習  サブルーチンを使用してみる
 ループを練習 (繰り返し処理)  現在の時刻を取得する
 配列の簡単な使い方  ファイルの簡単な操作をする
 配列の操作を行ってみる  不特定が書き込むファイルの排他処理
 文字列の検索と取出し  CGI から画像を表示する



9. 配列の操作を行ってみる

ループを練習 の項で説明していなかった foreach について説明します。
foreach は配列に対して繰り返し処理を行うものです。


ここでは配列の要素を foreach で繰り返し、それぞれの要素の文字列に さん を
付ける処理を行ってみます。


実行結果
田中さん
山田さん
竹内さん


foreach $変数 (@配列)
{
  処理;
}
1要素 配列を読み込んだら、変数に代入します。
処理に指定したものを実行した後、配列の次の要素を
読み込み、実行・・・・ を繰り返します。
配列の要素数だけこの処理を行い、終了します。
foreach $aaa (@hairetu)
{
  print $aaa;
}
左の例では次のような処理です。
@hairetu の要素を一つずつ読んで 変数 $aaa に入れます。
それを print $aaa; で表示します。
配列の次の要素を読み込み、同じように表示します。
@hairetu の要素が無くなるまで続けます。



foreach で代入する変数を省略する事もでき、この場合省略時の変数 $_ に値が代入されます。
代入された変数を使う時は $_ とすると使う事ができます。
例えば例の print の場合 print $_; といった感じです。


配列の要素を追加したり、削除したりする

配列の要素を追加したり削除したりを配列の前後から行う事ができます。

push 配列の末尾に要素を追加する際に使用します。
例 push (配列名,追加要素);
例 push (@aaa,$tmp);
pop 配列の末尾から要素を取り出す際に使用します。
取り出された配列の末尾の要素は削除されます。
例 取出し要素の代入先 = pop (配列名);
例 $tmp = pop (@aaa);
shift 配列の先頭の要素を取り出す際に使用します。
取り出された配列の先頭の要素は削除されます。
先頭にあった要素を取り出して削除する為、取り出した要素の
次の要素の添字が 0 になります。
例 取出し要素の代入先 = shift (配列名);
例 $tmp = shift (@aaa);
unshift 配列の先頭に要素を追加する際に使用します。
先頭に要素を追加する為、追加した要素の添字は 0 となり、
元々あった要素の添字は 1 という感じでずれます。
例 unshift (配列名,追加要素);
例 unshift (@aaa,$tmp);


下の例では先頭にあった要素を末尾に移動させたのち、画面表示を行います。
$tmp = shift (@aaa); により先頭から要素を取り出し、変数 $tmp に入れています。
push (@aaa,$tmp); で先ほど取り出した要素を配列 @aaa の末尾に追加しています。


実行結果
山田さん
竹内さん
田中さん





配列をスカラー変数に代入すると、配列の個数が代入先の変数に格納されます。
例えば上記例の 配列 @aaa には 田中さん 山田さん 竹内さん の3つの要素が
入っていますので、その個数が確認できるかを見てみます。


実行結果
配列には 3 つの要素があります。



配列の連結を行う

配列中の要素を区切り文字を付けて連結させたり、配列同士の連結が行えます。

下の例では配列 @aaa の中の要素を / で区切ってから表示しています。
これは連結なので、区切った後は1つの要素となります。


実行結果
田中さん/山田さん/竹内さん



上の連結後の値を配列に挿入 @bbb = join ("/",@aaa); とした場合、配列 @bbb の先頭に
代入される事になります。 例 $bbb[0]
連結後は配列でなく単一の要素となりますので注意しましょう。

複数の配列や変数を連結する

連結は1つの配列内だけでなく、複数の配列や変数をまとめて結合することができます。
例えば下の例では 2つの配列と1つの変数をまとめて連結しています。
複数指定する場合は カンマ(,) で区切って指定します。



実行結果
田中さん/山田さん/竹内さん/鈴木さん/前田さん/松浦さん/を連結しました。



次項では文字列の検索の概要を説明しています。



Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -