#include #include #include #include EXTERN_C void xs_init (pTHXo); EXTERN_C void boot_DynaLoader (pTHXo_ CV* cv); EXTERN_C void xs_init(pTHXo) { char *file = __FILE__; dXSUB_SYS; /* DynaLoader is a special case */ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); } int main (int argc, char **argv) { PerlInterpreter *perl = NULL; int count = 0; // PL_perl_destruct_level = 1; fprintf(stdout, "Press Enter to start, Ctl-D to quit ..."); while (getchar() != EOF) { fprintf(stderr, "********COUNT = %d, DESTRUCT LEVEL(0) = %d\n", ++count, PL_perl_destruct_level); perl = perl_alloc(); perl_construct(perl); perl_parse(perl, xs_init, argc, argv, NULL); perl_run(perl); PL_perl_destruct_level = 1; perl_destruct(perl); perl_free(perl); perl = NULL; fprintf(stdout, "Press Enter to continue, Ctl-D to quit ..."); } return 0; } #### my $string = "HELLO WORLD\n"; print $string; #### my $string = "HELLO WORLD\n"; print $string; use Data::Dumper; print Dumper($string);