CGI-BBS > 情報収集 > アンケート > フォームデータのデコード


カレッヂ
カレッヂ


質問者 ZZD  投稿日 3/23(金) 18:21:59
始めまして。CGIに関しては初心者です。
どうにか自力でApacheとPerlを設定出来ました。
(環境:Win2000Server、Apache)

会社の方でアンケートフォームでのデータをCSVではき出せるCGIを組みたいのですが、
データをデコードするPerlのツールが必要と本に書いてありまして
「cgi-lib.pl」を見つけたので設定したいのですが、方法がまったくわかりません。
このツールは本にはDLして下さいと記載されているのですが、
コピペでリネームし使用するものなのですか?
またこれは必要なのでしょうか?

いかんせん初心者で、質問内容もわかりにくい部分があると思いますが、
どなたか教えて下さい。
宜しくお願い致します。





回答者 しあわせのツボ  [削除]  投稿日 3/23(金) 19:45:44
cgi-lib.plを開ける必要はありません。
適当な場所に置いておき、CGIの適当な所で
require './cgi-lib.pl';
と書いておけばロードされます。
(./cgi-lib.pl の所はCGIからの相対パスを適宜指定して下さい)
回答者 まさ  [削除]  投稿日 3/23(金) 19:50:58
>始めまして。CGIに関しては初心者です。
>どうにか自力でApacheとPerlを設定出来ました。
>(環境:Win2000Server、Apache)

自分でHTTPdであるApacheを入れて、Win2000で運用しているのならばcgi-lib.plなど使う
必要はないです。

PerlはActivePerlですか?
恐らくそうだと思いますが、そのような環境ではモジュールをインストールし放題なので、
cgi-lib.plなど古いものを使わなくても便利なものが山ほどあります。

まずデコードですが、これはPerl5標準のCGI.pmを使いましょう。ずっと楽になります。
それに文字コードの変換はjcode.plなど使わずに、Jcode.pmを使いましょう。
これらモジュールは全てPPMでインストールできます。

詳しくは「モジュール ActivePerl」等でサーチエンジンで調べればいろいろ出てきます。
Win32でのモジュールは以下にあります。
http://www.activestate.com/PPMPackages/zips/5xx-builds-only/

とにかくそのような環境ではできるだけモジュールを使った方がいいです。
何故かといえば、モジュールは多くの先人が築き上げた財産です。
これを使うことにより、バグの少ない、よりオブジェクト指向のプログラミングが可能です。
頑張って下さい。

また、モジュール等でわからないことがあれば聞いて下さい。

回答者 まさ  [削除]  投稿日 3/23(金) 19:58:13
まず簡単な例を示しておくと、

use CGI;

#データを受け取る
$query = new CGI;
$file = $query->param('File');
$text = $query->param('Text');

こうしてやると自動的にデコードしてくれます。
$fileは画像データ、$textはテキストデータです。

複雑なデコード処理は全てCGI.pmが自動的に行ってくれます。
あとはテキストデータをJcode.pmで適当な文字コードに直せばいいだけです。

$text = jcode($text)->sjis;

こんな感じでS-JISになります。

質問者 ZZD  [削除]  投稿日 3/23(金) 20:15:21
>しあわせのツボさん
>まささん
どうもありがとうございます。頑張って見ます。
また教えて下さい。

返信(回答)する


Web裏技