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.