Perl EPIC インストールされた CPAN モジュールを認識しない

Perl EPIC インストールされた CPAN モジュールを認識しない

MacのEclipseは、新しいモジュールを追加すると正常に動作していましたが、Text::CSV_XSEclipseが追加されたと認識しなくなりました。@INCたとえば

use strict;
use SOAP::Transport::HTTP;

SOAP::Transport::HTTP::CGI->dispatch_to('C2FService')->handle;

BEGIN {

    package C2FService;
    use vars qw(@ISA);
    @ISA = qw(Exporter SOAP::Server::Parameters);
    use SOAP::Lite;

    sub c2f {
        my $self     = shift;
        my $envelope = pop;
        my $temp     = $envelope->dataof("//c2f/temperature");
        return SOAP::Data->name(
            'convertedTemp' => ( ( ( 9 / 5 ) * ( $temp->value ) ) + 32 ) );
    }
}

use SOAP::Transport::HTTP;コメントアウトするとエラーとしてマークされ、use SOAP::Lite;モジュールがインストールされていない場合は通常、エラー、見つからないなどとしてマークされます。どちらもCPANでインストールされ、

$ perl -c soap-test.pl 
post-code-check.pl syntax OK

Perl は問題ありません。CPAN テストはすべて合格し、コードは動作しますが、EPIC だけが遅れています。

$ pwd && ls 
/opt/local/lib/perl5/site_perl/5.12.4/SOAP
Client.pod      Lite            Server.pod
Constants.pm        Lite.pm         Test.pm
Data.pod        Packager.pm     Trace.pod
Deserializer.pod    SOM.pod         Transport
Fault.pod       Schema.pod      Transport.pod
Header.pod      Serializer.pod      Utils.pod

useまた、ファイルの先頭にエラーがある場合、ソースの残りの部分はエラーチェックされません。

答え1

私は、自分のシステムで見つかったすべてのパスをプロジェクトのインクルード パスに手動で追加することで、この問題を修正することができました。(click in the source of your project) > Project > Properties プロジェクトのルート ディレクトリに移動して.includepathファイルを開き、パスと閉じ引用符の後に末尾のスペースがないことを確認します。

<includepathentry path="/opt/local/lib/perl5/vendor_perl/5.12.4 " />私のエントリのいくつかには、ターミナルから Eclipse の GUI にコピーして貼り付けただけなのに、末尾にスペースがあるはずがありません。

もちろん、これらすべての後に同じProjectメニューからプロジェクトをクリーンアップします。

答え2

Eclipse Perl EPICにモジュールを組み込むための手順を追加するだけです(いくつかの追加メモ付き):

  1. プロジェクトを右クリック > プロパティ > Perl Include Path

  2. 含めたいパスを入力または参照してください

    フォルダやファイルにスペースが含まれている場合は、インクルードパスを二重引用符で囲むようにしてください。

  3. ${project_loc}/前述のようにパスの先頭にここ

    つまり${project_loc}"/path/to/some module"、または"${project_loc}/path/to/some module"

  4. 「リストに追加」>「OK」をクリックします。

  5. Eclipseを再起動する

関連情報