関数名 |
意 味 |
詳 細 |
print |
説明 |
print関数はデータを出力する関数です。出力とは画面に表示することで、主にperl内でhtmlを出力(表示)する時に使われます。ヒアドキュメント(print
<<EOF;からEOFの間に記述する)を使えば、もっと簡単に出力できます。 |
記述 |
出力(表示)する時は〜print 出力先 出力内容
perl内で「print "パール";」と記述すると、パソコンの画面左上に「パール」と表示されます。 |
exit |
説明 |
exit関数は、実行中のPerlプログラムを終了させる関数です。条件文からの脱出に使用されます。 |
記述 |
強制終了〜exit[ステータスコードとなる値を返す式]
if文などの{ }内にexitを記述するだけです。 |
goto |
説明 |
goto関数は、引数の場所にジュンプする関数です。
引数へジャンプするには〜goto ラベル・式・サブルーチンのいずれか一つ |
記述 |
goto LABEL;
goto +("LABEL1","LABEL2","LABEL3")[$x];
goto $subroutine; |
time
location |
説明 |
時間を取得する関数です。time()関数は、(1970年1月1日00:00:00(UTC=世界標準時間)からの秒数を取得できます。その秒数をlocation()関数が何年何月何日何曜日何時何分というように変換してくれます。変換したデータをスカラー変数に入れると、自動的に「曜日 月 日 時刻 年」という値になります。 ※この書式の変更は不可能です。 |
記述 |
秒数から時刻・曜日・年を$jikanへ代入する〜$jikan=localtime(time());
$jikan=localtime(time());と記述すると、スカラー変数$jikanから時間や曜日を呼び出せます。 |
open
close |
説明 |
open関数は、このプログラムが書かれているファイルとは別のファイルを開く関数です。close関数は、open関数で開かれたファイルを閉じる関数です。下記の「ファイルハンドル名」とは、CGIプログラムの中で使われている作業用ファイル名(ログファイル)です。 |
記述 |
開く時は〜open(ファイルハンドル名,"ファイル名") 閉じる時は〜close(ファイルハンドル名)
open(FILEHANDLE,"data.txt")と記述すると、data.txt内のデータがFILEHANDLEへコピーされます。直接data.txtへアクセスせず、FILEHANDLEのコピーを使う決まりになっています。 |
read |
説明 |
read関数は、データ(ログファイル)を読み込む関数です。CGIでpostメソッドを使ったフォームデータをデコードする際などに使用されています。これを使用しないとアクセスカウンタ・掲示板・チャットなどは作成できません。 ※ファイルハンドル名はお好きなものに換えて下さい。 |
記述 |
外部ファイルを読み込む〜スカラー変数1=read(ファイルハンドル,外部ファイルパス)
$abc=read(STDIN,./data.txt)と記述すると、同ディレクトリ内にある「data.txt」が読み込まれる。 |
write |
説明 |
write関数は、フォーマットに従ってファイルハンドルに書き込む関数です。CGIが処理した結果をログファイルに保存する時に使用します。 |
記述 |
ファイルハンドルに書き込む〜write(ファイルハンドル名を返す式)
open(IN,"data.txt")と記述すると、data.txtがファイルハンドル「IN」に読み込まれます。それから追加・削除処理を行い、write(IN)と記述すると上書き保存されます。 |
flock |
説明 |
Web上で2人同時にCGIを使用すると、きちんと処理されない場合があります。(データがクラッシュするため)flock関数は、同時に処理を要求された場合、一方を待たせます。これを「ファイルをロックする」といいます。 |
記述 |
ロックする時は〜flock(ファイルハンドル名,ロックする方法);
flock(DATA,2);からflock(DATA,8);の間に出力文を記述する。
【ファイルをロックする方法の種類1〜3】
1:ファイルを共有する(同時に書き込み可能)
2:同時読み込み・書き込みを行わない
3:ロックを解除する |
chop
chomp |
説明 |
chop関数は指定したスカラー変数の末尾の一文字を取り除きます。(ちなみに日本語ではうまく動きません)chomp関数は末尾が改行文字だった場合のみ、改行文字を削除してくれます。これは投稿CGIで頻繁に使用される関数です。 |
記述 |
末尾削除〜chop(スカラー変数名) 改行削除〜chomp(スカラー変数名)
$data="a,b,c,d";から「d」を削除するにはchop($data)となり、 改行を取る時はchomp($data)となる。 |
split |
説明 |
ある文字列を、指定した区切り文字で分割して、前から順番に配列の要素として登録する関数です。よく、掲示板などのロブファイルを見ると、「/」で区切られていますね。split関数はその分割と登録を行います。 |
記述 |
文字列の分割〜split(/区切り文字/,分割する文字列,分割する数)〜分割する数は指定しません。
一人一人の保存データを改行で区切りたい場合は、split(/\n/,$data)とします。 |
sprintf |
説明 |
文字列を、あるフォーマットにのっとって整形する関数です。「変数名=sprintf("フォーマット",文字列);」のように使います。 |
記述 |
文字列を整形する〜sprintf("フォーマット",文字列や数値)
$data=splintf("%07d",253)と記述すると、対象文字253が右揃え7桁の整数に整形されます。 |