Corredor

ウェブ、プログラミングの勉強メモ。

Perl

Perl で簡易チャット CGI を作った

以前、Perl を改めて勉強し直した時に、1ファイルで動く簡易チャット CGI を作った。 Perl Chat · GitHub 投稿をファイルに書き込むようにしているのだが、ファイル書き込み時のロック機構を実装していないお粗末仕様。面倒臭くて飽きたのでココで終わり。 C…

CentOS の Apache で Perl CGI がファイル生成できないのは SELinux のせいだった

CentOS Linux 上の Apache に Perl CGI を置いたのだが、上手くファイル生成やファイル書き込みができなかった。CGI 自体は動いていて、ファイルの読み込みまではできるのに、書き込みだけがどうにもできない、という状態だった。 Apache デフォルトの cgi-b…

Perl CGI でリクエスト文字列をファイル書き出ししたら文字化けしたのを直した

POST 送信されたリクエスト文字列を取得し、それをファイルに書き出すという Perl CGI を書いていた。よくある掲示板システムみたいなモノだ。 昔の Shift-JIS を使っていた頃とは違って、今は表示する Web ページも UTF-8、Perl スクリプトファイルも UTF-8…

Perl CGI でクエリ文字列を取得する

Perl CGI でクエリ文字列を取得する方法。GET リクエストの場合は URL のクエリパラメータ (?hoge=fuga&foo=bar みたいなヤツ)、POST リクエストの場合はリクエストボディからデータを取得し、整形する。 # 最終的にリクエスト情報をまとめる連想配列 my %fo…

Perl 再入門 : ファイルの存在チェック、読み込み、新規生成、追記

Perl でファイルの操作アレコレ。コレをマスターすれば、昔ながらの掲示板的な CGI が作れるようになる。 ファイルの存在チェック ファイルの読み取り ファイルの新規生成 ファイルにテキストを書き込む・追記する 今日はココまで ファイルの存在チェック Pe…

Perl 再入門 : サブルーチンの基礎まとめ

Perl における関数は、サブルーチンと表現され、sub で宣言する。今回はこのサブルーチンに関しての仕様を押さえておく。 Perl におけるサブルーチンの引数の処理 サブルーチンの入れ子はできる? Perl におけるサブルーチンの引数の処理 引数が1つの場合 配…

Perl 再入門 : 配列・連想配列 (ハッシュ)・関数呼び出し・例外処理

Perl 再入門、第2弾。 配列を扱う 連想配列 (ハッシュ) を扱う ハッシュから値を取り出す 連想配列からキーや値を全部取り出す 環境変数を引っこ抜くサンプル カレントディレクトリ配下のファイル名を取得するコードを元に、関数の呼び出し方について 例外処…

Perl CGI 再入門 : 開発環境・変数・use strict・コメント・文字列結合・ヒアドキュメント

大昔にいじっていた Perl CGI スクリプトを発掘した。当時はプログラミングの知識がないまま、色々な CGI スクリプトをコピペして適当に改造していたので、今更ながら Perl の復習をしようかと思う。 開発環境 まずはとりあえず動かしつつ、変数を使ってみる…

Mac 内蔵の Apache で Perl CGI を動かせるようにするまで

MacOS には Apache が最初から含まれており、Perl や PHP を CGI としてすぐに動かせる。 今回は、Perl スクリプトを CGI として動かせるようにするため、この Apache の設定をいじってみようと思う。 (昔ワケも分からず色んなところからコードをコピペして…