2013-05-10 46 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

相關問題