Perl・CGI備忘録

プログラム言語

ぽんこつWEBサーバー構築 powered by

ぽんこつWEBサーバー構築

ぽんこつWEBサーバー構築 -count-

 PerlのCGIをよく作成するのですが、毎回忘れてしまうので PerlCGI備忘録を作ってみました。

■配列
 @hairetsu = ('abc', 'def', 'ghi', 'jkl');
 hairetsu[1,2] = ('mno', 'pqr');
 hairetsu[0..3] = ('stu', 'vwx', 'yz');

■日付取得関数(time, localtime)
 時刻取得関数timeを利用し、それをlocaltime関数に渡します。

 ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);

 $sec ・・・秒(0〜59)
 $min ・・・分(0〜59)
 $hour ・・・時(0〜23)
 $mday ・・・日(1〜31)
 $mon ・・・月(0〜11で、1月は0)
 $year ・・・年(1900を引いた年数、+1900で西暦4桁、−100で西暦2桁)
 $wday ・・・曜日 (0〜6で、日曜日は0)
 $yday ・・・1月1日からの経過年数
 $isdst ・・・サマータイム(サマータイム期間中は1、他は0)

■文字列エンコード(URLエンコード)
 $unpack_encode =~ s/(\W)/'%'.unpack("H2", $1)/eg;

■文字列デコード(16進文字列→バイナリ文字列の変換)
 pack関数を使うと、16進文字列からバイナリ文字列への変換ができます。 用途としては、フォームで記号や全角文字を送信した場合に、URLとしてGETで渡した場合や POSTで渡した文字列を元に戻すのに使えます。

 $pack_decode =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1 )/eg;

■半角英数字、記号のみの判定
 文字列に全角文字が含まれているか、半角英数字・記号のみか判別する。 (掲示板で海外からのいたずら書き込みを防止するのに使えます)

if ( $message =~ /[^\w\s\!"#\$%&'\(\)\*+,-\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/ ) {
 print "文字列「$message」には全角文字が含まれます。";
} else {
 print "文字列「$message」は半角文字のみです。";
}  

こちらは管理人のおすすめです。もしよかったらご覧ください。

◆".com"ドメインが年間700円・・・リンククラブ
◆3万円台からの激安パソコンショップ・・・マウスコンピューター

トップページ
ブログパーツ

★姉妹サイト
 マウスコンピューターフリーク・・・激安パソコン紹介
 【HP・WEB収入】課題達成型アフィリエイト・・・ホームページで広告収入
[運営者情報]

広告


関連コンテンツ