E-P-I-Cだそうで

EclipseでPerlのIDEですよ、ダンナ。

 

たまたま見かけたこの記事で、PerlのIDE on Eclipseが動いて当然のように書かれていたので、試してみました。

 

 

 

EclipseでPerl CGIのデバッグ環境の構築

 

http://d.hatena.ne.jp/guccyon/20080314/p1

 

   

デバッグ実行はcgiのソースに適当にブレークポイントを貼って、

   

実行ダイアログの代わりにデバッグダイアログから実行するとブレークポイントでちゃんと止まってくれてステップ実行もできる。

 

 

 

そりゃいいや、というわけで手元のEclipse3(ガリレオ)をアップデートしてEPICをインスコ。

 

んが、HelloWorldなCGIをDebug実行してもさっぱりです。Request timeoutとかでるし、バックグラウンドタスクが57%で止まったままになるし。

 

CGIから一歩下がって、localスクリプトのデバッグを試してみて、一歩前進しました。

 

   

Use of uninitialized value in subroutine dereference at (null) line 1.      
perl5db.pl did not return a true value.       
BEGIN failed–compilation aborted.

 

これがconsoleに出た後、以下のようなダイアログが。

 

20100701000838

 

   

・・・ You can fix this problem manually by editing a single line in Cwd.pm, as suggested in EPIC bug report 2907155 at SourceForge.

 

だらだらと長く言い訳がましいメッセージですがバグは以下で参照できます。CPANですな。Cwd.pmというPerlモジュールを1行手で直せば直るということのようですな。

 

 

 

perl5db.pl did not return a true value – ID: 2907155

 

http://sourceforge.net/tracker/?func=detail&aid=2907155&group_id=75859&atid=545274

 

 

 

localhostがどうとかほざいているコメントがありますが、それは無視して、Cwd.pmを探すと・・・

 

   

<Perlのインストールフォルダ>\lib\Cwd.pm

 

にありました。あらためてCPANのバグチケットを眺めると、

 

   

・・・This is the fatal change:    
sub _win32_cwd {      
– if (defined &DynaLoader::boot_DynaLoader) {      
+ if (eval ‘defined &DynaLoader::boot_DynaLoader’) {      
$ENV{‘PWD’} = Win32::GetCwd();      
}      
else { # miniperl

   

・・・

 

貼り付けられたdiffの内容が「fatal change」つまり、やっちゃったという指摘なので、Cwd.pmの修正は以下のようになります。

 

   

sub _win32_cwd {    
    if (defined &DynaLoader::boot_DynaLoader) {      
#   if (eval ‘defined &DynaLoader::boot_DynaLoader’) {      
    $ENV{‘PWD’} = Win32::GetCwd();

 

ただしまだ取り込まれていない所を見ると、EPICの独りよがりのような気もしないでもなく。CPANの修正の履歴を追いかける力量はございませんことよ、オホホ。

 

 

 

で、それらしいスクリーンショット。

 

20100701002457 ブレーク

 

んが、ちょこちょこ動かしていると、

 

20100701000022 ロックは忙しい

 

あ~ロックの方式はさすがに切り替えないとアレかぁ。ActivePerlの弱点だなぁ。EclipseなんだからLinuxでやりゃいいのか。

 

 

 

 

 

バージョンメモ:

 

EPIC 0.6.3

 

ActivePerl 5.10.1

 

Eclipse 3系

 

※EPICでCygwinのperlは鬼門と思われ

 

 

PerlフレームワークCatalyst完全入門
山田 祥寛
インプレスジャパン
売り上げランキング: 169327