4 static void xs_init (void);
5 static PerlInterpreter *my_perl;
13 #else /* def(CAN_PROTOTYPE) */
14 main(int argc, char **argv, char **env)
15 #endif /* def(CAN_PROTOTYPE) */
21 #ifdef INDIRECT_BGET_MACROS
23 #endif /* INDIRECT_BGET_MACROS */
26 PERL_SYS_INIT(&argc,&argv);
28 perl_init_i18nl10n(1);
31 my_perl = perl_alloc();
38 perl_construct( my_perl );
43 PL_cshlen = strlen(PL_cshname);
50 fp = fopen(argv[1], "rb");
52 fp = fopen(argv[1], "r");
65 New(666, fakeargv, argc + 4, char *);
66 fakeargv[0] = argv[0];
70 for (i = 1; i < argc; i++)
71 fakeargv[i + 3] = argv[i];
72 fakeargv[argc + 3] = 0;
74 exitstatus = perl_parse(my_perl, xs_init, argc + 3, fakeargv, NULL);
78 sv_setpv(GvSV(gv_fetchpv("0", TRUE, SVt_PV)), argv[0]);
79 PL_main_cv = PL_compcv;
82 #ifdef INDIRECT_BGET_MACROS
84 bs.fgetc = (int(*) (void*))fgetc;
85 bs.fread = (int(*) (char*,size_t,size_t,void*))fread;
90 #endif /* INDIRECT_BGET_MACROS */
92 exitstatus = perl_run( my_perl );
94 perl_destruct( my_perl );