#include "EXTERN.h" //引用外部的头文件
#include "perl.h" //perl头文件
int _tmain(int argc, _TCHAR* argv[])
{
STRLEN n_a;
char *embedding[] = {"","test.pl",""}; //perl脚本和参数,第一个为空
//第二个为脚本文件,第三个为脚本的输入参数
//定义一个perl解释器
static PerlInterpreter *my_perl;
//为解释器分配资源
my_perl = perl_alloc();
//创建一个解释器
perl_construct( my_perl );
//perl解析
//PERL_CALLCONV int perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env)
perl_parse(my_perl, NULL, 3, embedding, NULL);
//执行脚本
perl_run(my_perl);
//获取脚本中变量a的值
printf("a = %d\n", SvIV(perl_get_sv("a", FALSE)));
//获取脚本中变量b的值
printf("b = %f\n", SvNV(perl_get_sv("b", FALSE)));
//获取脚本中变量c的值
printf("a = %s\n", SvPV(perl_get_sv("a", FALSE), n_a));
//析构解释器
perl_destruct(my_perl);
//释放解释器
perl_free(my_perl);
}
c++ 调用 perl 脚本
最新推荐文章于 2015-07-16 00:13:24 发布