Cómo incrustar el intérprete de perl en un programa de C#
interop dllimport (1)
Mira esto; Espero que sirva de ayuda (se llamó en su versión anterior)
Tengo esto de aquí ( perlmonks.org/?node_id=530344 )
Para incrustar un intérprete de Perl en un programa de C #, agregue una referencia al objeto COM "Microsoft Script Control 1.0" y escriba un código como este:
MSScriptControl.ScriptControlClass Interpreter;
Interpreter = new MSScriptControl.ScriptControlClass();
Interpreter.Language = @"PerlScript";
string Program = @"reverse ''abcde''";
string Results = (string)Interpreter.Eval(Program);
Lo anterior es equivalente a la siguiente secuencia de comandos Perl, que incorpora un intérprete Perl dentro de un intérprete Perl:
use Win32::OLE;
my $Interpreter;
$Interpreter = Win32::OLE->new(''ScriptControl'');
$Interpreter->{Language} = ''PerlScript'';
my $Program = "reverse ''abcde''";
my $Results = $Interpreter->Eval($Program);
Me doy cuenta de que tengo que importar los métodos perlembed
perl_parse
perl_alloc
perl_free
etc.,
Pero no estoy seguro de cómo combinar los argumentos de la función para usarlo con DLLImport
especialmente con el método perl_parse
.
También me doy cuenta de que ya existe una pregunta relacionada que está casi ahí pero aún así el OP se resolvió creando una envoltura de C y luego usándola en C #.
Dice que no pudo importar DLLmente PERL_SYS_INIT3.
¿Entonces mi pregunta es cómo envolverlos correctamente usando solo C # y usarlos?