剛下載的ActivePerl。我想將perl解釋器嵌入到C#應用程序中(或者至少從C#中調用perl解釋器)。我需要能夠發送數據到C#的Perl,然後將輸出接收回C#。嵌入Perl解釋器
我剛剛安裝了ActivePerl,並添加了MS Script Control 1.0作爲參考。我在互聯網上發現了這個代碼,但是無法使其正常工作。
MSScriptControl.ScriptControlClass Interpreter = new MSScriptControl.ScriptControlClass();
Interpreter.Language = @"ActivePerl";
string Program = @"reverse 'abcde'";
string Results = (string)Interpreter.Eval(Program);
return Results;
原來,它有'PerlScript'而不是'ActivePerl',但都不適用於我。我不完全確定Interpreter.Language的期望。它是否需要通向解釋器的路徑?
解決了......我不確定如何,但是當我將其更改回PerlScript時,它現在可以工作。不過,我想知道MSScript Control是否使用ActivePerl或其他解釋器。
關於「嵌入」的重要之處在於它不是嵌入。 :-P – hobbs 2010-01-15 00:27:08
我看到:-)你也可以用這種方法做到這一點。涉及一點Perl魔力,但沒有太難。你可以傳遞你的腳本來perl stdin和eval那裏,或者使用一個臨時目錄,或者將你的acrip作爲嵌入資源嵌入到你的DLL等中。等等。Perl只是在任何託管環境中都不穩定,但是作爲它自己的進程。 Hopefuly Perl 6 ...我不確定腳本控制環境有人可能證明我錯了。 – ziya 2010-01-15 07:30:45