3

私は本当に奇妙な問題を抱えていますが、Ubuntuを実行しているときだけです(CentOSではevertyhingが機能しています)。Perlでスクリプトを作成し、Mail::IMAPClientモジュールを使用しました。

次のコマンドを実行すると:

pp -o myapp perlscript.pl

すべてが機能していますが、バイナリスクリプト(myapp)を実行しようとすると、次のエラーが発生します。

Cannot connect through IMAPClient: No such file or directory at script/perlscript.pl line 22.

しかし、私がperlscript.plを実行しているときは、すべてがOKです......
理由はわかりますか?

脚本:

#!/usr/bin/perl

use strict;
use Mail::IMAPClient;
use Data::Dumper;
use MIME::QuotedPrint ();

$|=1;

# Vars
my $odate = `date +'%d/%m/%Y'`; chomp($odate);
   $odate = '15/01/2012';
my $timeout = 120;

# Connect to IMAP server
my $imap = Mail::IMAPClient->new(
  Server   => 'imap.gmail.com',
  User     => 'my@email.com',
  Password => 'my_password',
  Port     => 993,
  Ssl      =>  1,
  )
  or die "Cannot connect through IMAPClient: $!";
4

1 に答える 1

4

あなたは間違った方法でエラーチェックを行っています。コンストラクターについては、ではなく、 を検査する必要があります。$@$!変更されたプログラム (まだ pp でコンパイルされていない) を実行すると、有用なエラー メッセージが表示されます。

IMAPClient 経由で接続できません: imap.gmail.com に接続できません: 'IO::Socket::SSL' を読み込めません: @INC で IO/Socket/SSL.pm が見つかりません (@INC には次が含まれます: …) (eval 7) 2 行目。

コンパイラーが独自に検出できなかった隠された依存関係を追加するようにコンパイラーに指示するのを忘れたようです。

于 2012-01-24T17:43:02.570 に答える