Как встроить интерпретатор perl в программу С# - программирование
Подтвердить что ты не робот

Как встроить интерпретатор perl в программу С#

Я понимаю, что мне нужно DllImport методы perlembed

perl_parse
perl_alloc
perl_free

и др.,

Но не уверен, как сопоставить аргументы функции для использования с DllImport особенно с помощью метода perl_parse.

Я также понимаю, что вопрос уже существует, который почти существует, но все же OP решил создать C-оболочку, а затем использовать ее в С#.

Он говорит, что ему не удалось DLLimport PERL_SYS_INIT3.

Итак, мой вопрос в том, как правильно их обернуть, используя только С# и использовать его?

4b9b3361

Ответ 1

Посмотрите на это; Я надеюсь, что это поможет (он был назван в ранней версии)

Я получил это отсюда (perl)

Чтобы внедрить интерпретатор Perl в программу на С#, добавьте ссылку на объект COM "Microsoft Script Control 1.0" и напишите код следующим образом:

MSScriptControl.ScriptControlClass Interpreter;
Interpreter = new MSScriptControl.ScriptControlClass();
Interpreter.Language = @"PerlScript";
string Program = @"reverse 'abcde'";
string Results = (string)Interpreter.Eval(Program);

Вышеупомянутое эквивалентно следующему Perl script, который включает интерпретатор Perl в интерпретаторе Perl:

use Win32::OLE;
my $Interpreter;
$Interpreter = Win32::OLE->new('ScriptControl');
$Interpreter->{Language} = 'PerlScript';
my $Program = "reverse 'abcde'";
my $Results = $Interpreter->Eval($Program);