F450

ブログ > エントリ > シェルスクリプトでCGI

2010/02/14(日) 13:44:25 (JST)

シェルスクリプトでCGI

新しいサイト“F450”では、CGIにシェルスクリプトを使用することにしました。

#!/bin/sh

CURRENT_DIR=`dirname $0`
cd ${CURRENT_DIR}

ABS_CURRENT_DIR=`pwd`
DIR_NAME=`basename ${ABS_CURRENT_DIR}`
PARENT_DIR=`echo ${ABS_CURRENT_DIR} | sed -e s/\\\\/${DIR_NAME}$//`

INC_DIR1="${PARENT_DIR}/PerlLib2012/mine"
INC_DIR2="${PARENT_DIR}/PerlLib2012/others"

SCRIPT="require './_.htbapp/Contents/Perl/_'; &main();"
perl -w -I ${INC_DIR1} -I ${INC_DIR2} -e "$SCRIPT"

…結局、シェルスクリプトを使ってperlを起動しているだけですが。
インクルードディレクトリを追加する方法として、PerlのBEGINブロック内で追加するのではなく、シェルでperlを起動するときに-Iスイッチで指定する方法を採りました。
ただそれだけのことでした。

このエントリへのコメント

このエントリにコメントはありません。

コメント新規投稿

サインインすると投稿できる文字数が増えます。
名前:
URL:
コメント:
注意事項
  • コメントの内容は、公序良俗に反しないようにして下さい。
  • 投稿されたコメントは、サイト管理人によって恣意的に修正や削除が行われることがあります。
  • サインインしてコメントを投稿すれば、後から投稿者自身で編集することもできます。ただし、回数制限等があります。
  • コメントではMarkdownを使用することができます(HTMLタグについては一部のみ可)。
  • コメントできる文字数は、サインインしているかどうかなどユーザの状態によって違います。
  • コメントを投稿すると、それに付随する情報(コメントを投稿した時間, サインイン中のアカウントに関する情報, アクセス元IPアドレス, etc.)がサーバに保存され、一部または全部が公開されることがあります(ただし、一般にはこれらの情報だけで実在の個人を特定することはできないはずです)。
  • コメントが投稿されたことをTwitter@YOCKOW_jpで報せます(※サーバエラーなどで報知できないことがあります)。
  • Twitterアカウントでサインインしている場合、自身のアカウントでコメントを投稿したことを共有することもできます(※サーバエラーなどで共有できないことがあります)。
  • 一定時間内に連続してコメントを投稿することはできません。
  • 色んな意味でYOCKOWの独壇場です。