人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

当方perl初心者です。
今回CGI::Application::DispachでWEBアプリケーションを作成しようと思って
以下のHPの通りにプログラムを作成をしたのですが、エラーが発生して実行できません。。。(404エラー)
*サンプルプログラムのlibのパスだけ"./lib"と変更しております。
http://www.itmedia.co.jp/enterprise/articles/0703/29/news014.html
Apacheのログは以下です。

[Tue May 06 16:19:26 2008] [error] [client 192.168.x.x] Passing extra args ('DEFAULT') to dispatch() is deprecated! Please use 'args_to_new' at ~/app.cgi line 7
[Tue May 06 16:19:26 2008] [error] [client 192.168.x.x] Passing extra args ('PREFIX') to dispatch() is deprecated! Please use 'args_to_new' at ~/app.cgi line 7
[Tue May 06 16:19:26 2008] [error] [client 192.168.x.x] [Dispatch] ERROR' for request '~/app.cgi/index': Can't find module Index

フォルダ構成は以下となっており問題ないと思っているのですが。

◇フォルダ構成◇
app.cgi
|--lib
|----UU
|----Index.pm
|----template
|----index.tt


当方の環境は、以下となります。
MacOSX 10.5.2
perl 5.8.8
Perlエキスパートの方アドバイスをいただきたいです。。

●質問者: こっしー
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache application AT CGI Client
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● lunlumo
●60ポイント

最新版のドキュメントを確認した所,dispatchの引数として与えるハッシュのキーは,prefixとdefault(共に小文字)の様です。ここを大文字に変えて試してみた所同様の現象が発生したので,ここを小文字に変えれば解消するのではないかと。


2 ● lunlumo
●10ポイント

文章だけでは上手く伝わらなかった雰囲気なので具体的なコードで示すと,現状app.cgiは以下の様にされているかと思いますが,

#!/usr/local/bin/perl

use strict;
use lib qw (./lib);
use CGI::Application::Dispatch;


CGI::Application::Dispatch->dispatch(
 PREFIX => 'UU',
 DEFAULT => 'Index',
);

最近のバージョンでは,以下の様に,記事のコードでPREFIXとDEFAULTと大文字になっている所を小文字に変える必要があるという事です。

#!/usr/local/bin/perl

use strict;
use lib qw (./lib);
use CGI::Application::Dispatch;


CGI::Application::Dispatch->dispatch(
 prefix => 'UU',
 default => 'Index',
);

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ