2013-05-15 49 views
3

任何人都可以在此處找到一塊骨頭嗎?無法通過軟件包「IO :: Socket :: SSL」找到對象方法「new」

Can't locate object method "new" via package "IO::Socket::SSL" at Services/IMAP/Client.pm line 136.

  if ($use_ssl) { 
135    require IO::Socket::SSL; 
136    $imap = IO::Socket::SSL->new (
137         Proto => "tcp", 
138         PeerAddr => $hostname, 
139         PeerPort => $port, 
140         Timeout => $timeout, 
141         Domain => AF_INET, 
142     ) 
143      or $self->log_(0, "IO::Socket::SSL error: [email protected]"); 
144   } 

已運行正常了幾個月,但經過一定的提升;大概perl,它開始了。

Perl版本是:(v5.16.3)在RHEL5

$perldoc -lm IO::Socket::SSL 
/usr/local/lib/perl5/site_perl/5.16.3/IO/Socket/SSL.pm 

$perldoc -lm IO::Socket::INET 
/usr/local/lib/perl5/5.16.3/i686-linux/IO/Socket/INET.pm 

$perldoc -lm Net::SSLeay 
/usr/local/lib/perl5/site_perl/5.16.3/i686-linux/Net/SSLeay.pm 

我失去的依賴?

任何幫助,將不勝感激

These all return without errors. 
[[email protected] ]# perl -MIO::Socket::SSL -e1 
[[email protected] ]# perl -MIO::Socket::IP -e1 
[[email protected] ]# perl -MIO::Socket::INET6 -e1 
[[email protected] ]# perl -MIO::Socket::INET -e1 
[[email protected] ]# perl -MNet::SSLeay -e1 
[[email protected] ]# 
+0

你爲什麼要使用「require」而不是「use」的任何原因? – AKHolland

+0

嗨,沒理由。我沒有寫這段代碼。我會測試它。謝謝! – user2385398

+0

隨着使用而需要 不能在服務/ IMAP/Client.pm線路定位對象的方法「新」經包裝「IO ::插座:: SSL」 137" – user2385398

回答

0

有點尷尬,但我發現導致我的問題的問題: 使用這些文件中的家當是:#!/usr/bin/perl(使用供應商的perl)
而需要
#!/bin/env/ perl

#!/usr/bin/local/perl
對於我的非供應商perl安裝版本。 調整平臺。

給大家誰提供意見,謝謝!

1

IO::Socket::SSL會嘗試決定從哪個模塊繼承之前加載其他模塊。它們是:

  • IO::Socket::IP
  • IO::Socket::INET6
  • IO::Socket::INET

你既然已經安裝了IO::Socket::INET,是製造麻煩的其它兩個模塊的可能嗎?

+0

由於同樣的事情, 我有IO ::插座:: IP 的perldoc -lm IO ::插座:: IP /usr/local/lib/perl5/site_perl/5.16.3/IO/Socket/IP.pm 安裝的IO ::插座:: INET6 的perldoc -lm IO ::插座:: INET6 /usr/local/lib/perl5/site_perl/5.16.3/IO/Socket/INET6.pm 仍然給我同樣的問題。 – user2385398

+0

這些都返回沒有錯誤。#root @ gw1]#perl -MIO :: Socket :: SSL -e1 [root @ gw1]#perl -MIO :: Socket :: IP -e1 [root @ gw1]#perl -MIO :: Socket: :INET6 -e1 [root @ gw1]#perl -MIO :: Socket :: INET -e1 [root @ gw1]#perl -MNet :: SSLeay -e1 [root @ gw1]# – user2385398

+0

如何添加一個這些評論中的換行符?兩個空間不適合我! – user2385398

相關問題