
こんにちは
Perlを使ったデータベースをselectするCGIプログラムをバイナリ化したいと考えております。
環境:RedHat, postgreSQL
Perl: v5.8.0 built for i386-linux-thread-multi
# perlcc target.cgi
とコマンド実行したところ、バイナリ化はできるものの、WEBから実行すると、以下のエラーがでてしまいます。
Undefined subroutine &DBI::dr::disconnect_all called at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 575.
解決策をご存知の方、お願いいたします。
No.1ベストアンサー
- 回答日時:
perlccはPerl言語で書いたプログラムをC言語へ変換するものです。
が、変換されたソースは無駄が多いものになってしまいますし、複雑なもの(元のPerl言語で書いたものが)になるほど正しいものに変換することができません。
また、モジュール(DBI等)を呼んでいるものを扱う場合も同様に動作するものに変換するのは困難(というかムリがある)です。
ちなみに今回のエラーメッセージは、
「~/DBI.pmの575行目で指定されたサブルーチン(DBI::dr::disconnect_all)が定義されていません。定義されていたとしても、既に未定義になっています。」
という意味です。
よって、結論を言うと「バイナリCGIを使いたいなら、はじめからC言語等のコンパイラ言語で書きましょう」ということになります。
なお、perlcc以外にもPARやPerl2EXE等のPerlスクリプトの実行形式化ツールがありますが、これは厳密にはバイナリ化されてはいません。
(Perlコンパイラとスクリプトソースを一緒にパッケージにしているだけなので、中身ではPerl言語本来のインタプリタ言語として動いています。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mt-check.cgiでForbiddenエラー...
-
Quantifier follows nothing in...
-
ファイル書込時にPermission de...
-
DBを10件毎に表示ページング...
-
エクセルで相対パスの書き方を...
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
月の第一週とは
-
VBA。複数のChangeイベントをま...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
CGIの中で出力するテキスト内容...
-
IPアドレスの確認方法
-
関数ヘッダ?
-
曜日を求めるプログラムはどう...
-
Excelで第一〇曜日を求める方法...
-
ユーザー定義の(aaa)
-
アンケートなどの1日1回の投...
-
カレンダープログラム、曜日の...
-
apacheでPerl CGIが作動せず、5...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlからテキストを返すperlを...
-
cgiとplとpm
-
cgi-lib.plのオフラインでの使用
-
jcode.plが読み込めない
-
エラー出力をなくしたい
-
“パーミッションを変えて、実行...
-
IIS7とActivePerlを導入しまし...
-
requireについて教えてください。
-
文字の置換に関しての質問です
-
サイト構築について
-
IMGタグにaaa.cgiを指定して、...
-
Perlソースを2つのファイルに分...
-
ファイルの転送。
-
a.cgi → b.cgiへデータの受渡...
-
cgi プログラムについて
-
/httpdocsでのCGI動作を有効化
-
webからroot権限のコマンドを実...
-
perl初心者です
-
perlのcgiで、変数の中身を表示...
-
ブラウザでタグがはみ出る
おすすめ情報