http://www.perlmonks.org?node_id=571519


in reply to Re^2: Simple PerlEz Sample
in thread Simple PerlEz Sample

For pennance to the Monastery, I hammered out the sample that I was searching for.

// test.cpp : Defines the entry point for the console application. // /* --Contents of "test.pl" sub ezsub($) { my $param = shift; return qq(Parameter passed in is -$param-\n); } */ #include "stdafx.h" #include <windows.h> #include <perlez.h> int _tmain(int argc, _TCHAR* argv[]) { char cmd[80]; char buffer[200]; PERLEZHANDLE perl = PerlEzCreate("test.pl", NULL); if(!perl) return 1; int nInteger = 234; if(PerlEzCall(perl,"ezsub",buffer,sizeof(buffer),"i", nInteger)==0) printf("1 - %s\n", buffer); sprintf(cmd, "ezsub"); char *szString = "456"; if(PerlEzCall(perl,cmd,buffer,sizeof(buffer),"s",szString)==0) printf("2 - %s\n", buffer); sprintf(cmd,"ezsub('%s')",szString); if(PerlEzEvalString(perl,cmd,buffer,sizeof(buffer))==0) printf("3 - %s\n", buffer); PerlEzDelete(perl); return 0; }
Output
1 - Parameter passed in is -234- 2 - Parameter passed in is -456- 3 - Parameter passed in is -456-
...And please forgive me for posting C code in this sacred place of Perl.