2013-05-10 71 views
0

我试图在执行一个Perl脚本,我们有像这个 -Perl的错误:” T调用方法‘芒果’未定义的值

# Calculate password using PwdMangler 
$PwdMangler = Win32::OLE->new('PWDMangler.Mangler'); 
unless($password = $PwdMangler->Mangle($user , $password_plain)) 
{ 
    print $log_file "Error occured in PwdMangler\n"; 
    exit (1); 
} # End Unless 

语句,但这个是用perl让这样的错误 -

无法对未定义的值调用方法'Mangle'。

所以,我试图打印$ user和$ password_plain值,我能够捕获这些值。

对此错误的任何建议。

+0

它是未定义的'$ PwdMangler'。 OLE可能存在问题。 – Mat 2013-05-10 08:00:19

+0

你能告诉我如何解决这个问题吗? – Praveenks 2013-05-10 08:30:12

+0

'Win32 :: OLE-> LastError()'可能会指定为什么'Win32 :: OLE-> new('PWDMangler.Mangler')'失败。 – ikegami 2013-05-10 09:14:45

回答

0

从CPAN:new()类方法启动OLE自动化对象的新实例。如果创建失败,它将返回对该对象的引用或undef

您应该检查PWDMangler.Mangler是否为正确的程序ID。

P.S .:不想看起来哑巴,但你确定PWDMangler不应该是PWDManager

+0

仍然收到相同的错误。 – Praveenks 2013-05-10 09:31:47

相关问题