perlでCGIを書く(5)
perlの関数について
日常的に使用される代表的な関数。
crypt関数はPerlの/etc/passwdで使用されているものと同じものです。パスワードを暗号化する目的で使われることが多いようです。
例) unshift(@cat, pop(@cat));
この関数は、1970年1月1日00:00:00UTC(協定世界時間)からの経過秒数を返します。主にlocaltime(time)という形で引数として使用され、現在時刻を得るために使用されます。
引数が文字列の場合はPerlコードを含むプログラムと解釈して実行します。
引数が数値(perlのバージョン番号)の場合、その数値が$]の値より小さいと強制終了になります。
requireはuseと役割が似ていますが、コンパイル時ではなく実行時にエラーを返すという点が異なります。
requireが返す値に'偽'はありません。つまり、'真'が返らない時点で500 Internal Server Errorを見る運命にあります。自作のパッケージなどは末尾に1;の記述を忘れるとドツボにはまります。
chmod → 許可属性を変更する
- chmod 許可属性 対象;
- chmod 0604 $file; → $fileの許可属性を0604に
chop → 文字列の最後を切り取る
- chop 文字列または配列;
- chop $name; → $nameの最後の文字を削る
- chop @name; → @nameの全要素の最後の文字を削る
chomp → 文字列最後の改行(\n)を切り取る
- chomp 文字列または配列;
crypt → 文字列を暗号化する
- crypt 文字列, キー;
- $p=crypt $pw,$cy; → $pwを暗号化して$pへ格納
crypt関数はPerlの/etc/passwdで使用されているものと同じものです。パスワードを暗号化する目的で使われることが多いようです。
rename → ファイル名を変更する
- rename 旧名 新名;
- rename $hoge $fuga; → $hogeを$fugaに変更
push → 配列の末尾に要素を加える
- push(@配列名, スカラー);
- push(@cat, $bm); → @catの最後に$bmを追加
unshift → 配列の先頭に要素を加える
- unshift(@配列名, リスト);
- unshift(@cat, $bm); → @catの先頭に$bmを追加
例) unshift(@cat, pop(@cat));
unlink → ファイルを削除する
- unlink(ファイル名);
split → 文字列を分割する
- split (区切りパターン),(スカラー),(最大分割数);
- @v = split('&', $val); → $valを&で分割して@vへ
sub → サブルーティンを宣言する
- sub (サブルーティン名) { }
例)
sub referrer {
$ref = $ENV{'HTTP_REFERER'};
return $ref;
}
&referrer(); # ←ここで呼び出す
local → ローカル変数を宣言する
- local(変数名);
print → ファイルハンドルへリストを出力する
- print (ファイルハンドル) (リスト);
- print FILE $count; → FILEに$countを出力
- print; → print STDOUT $_;の意
time → 起点からの経過秒数を取得する
この関数は、1970年1月1日00:00:00UTC(協定世界時間)からの経過秒数を返します。主にlocaltime(time)という形で引数として使用され、現在時刻を得るために使用されます。
($sec,$min,$hour,$date,$mon,$year)
= localtime(time);
$mon++;
$year = (1900 + $year);
という記述でPSTを取得できます。 sprintf → データをフォーマットする
- sprintf("フォーマット形式");
- $time=sprintf("$hour:$min"); → 時:分 が$timeに代入される
system → サーバーにコマンドを実行させる
- system(コマンド);
- system("ls -l"); → ディレクトリの詳細を表示
use → モジュールをインポートする
- use 識別子;
- use Socket; → ソケットを使用する
引数が文字列の場合はPerlコードを含むプログラムと解釈して実行します。
引数が数値(perlのバージョン番号)の場合、その数値が$]の値より小さいと強制終了になります。
require → ファイルを読み込んで実行する
- require ファイル名;
- require './jcode.pl'; → ./jcode.plを実行
requireはuseと役割が似ていますが、コンパイル時ではなく実行時にエラーを返すという点が異なります。
requireが返す値に'偽'はありません。つまり、'真'が返らない時点で500 Internal Server Errorを見る運命にあります。自作のパッケージなどは末尾に1;の記述を忘れるとドツボにはまります。
chdir → カレントディレクトリを移動する
- chdir(ディレクトリ);
- chdir($dir); → $dirへ移動する
- chdir("cgi-bin") → /cgi-bin/へ移動する
[ CGI Top ]
[ BACK ]
[ Reference Top ]
[ NEXT ]
[ HOME ]