#include #include #include void perlthread(void*); char *gargv[]; //quick hack for function- global vars int gargc; int main(char *argv[], int argc) { PerlInterpreter * perl1, *perl2=NULL; if((perl1=perl_alloc())==NULL) errormsg(); perl_construct(perl1); gargc=argc; gargv=argv; //initialize second perl interpreter...etc. status1=pthread_create(&tid1,NULL,perlthread,perl1); status2=pthread_create(&tid2,NULL,perlthread,perl2); pthread_join(tid1,NULL); pthread_join(tid2,NULL); perl_destruct(perl); perl_free(perl); } void perlthread(void *arg) { perl_parse(arg,NULL,gargc,gargv,NULL); }