Index: plperl.c
===================================================================
RCS file: /cvsroot/pgsql/src/pl/plperl/plperl.c,v
retrieving revision 1.146
diff -c -r1.146 plperl.c
*** plperl.c	20 Feb 2009 10:39:19 -0000	1.146
--- plperl.c	3 Jun 2009 23:34:30 -0000
***************
*** 399,404 ****
--- 399,406 ----
  		"", "-e", PERLBOOT
  	};
  
+ 	int nargs = 3;
+ 
  #ifdef WIN32
  
  	/*
***************
*** 447,454 ****
  		elog(ERROR, "could not allocate Perl interpreter");
  
  	perl_construct(plperl_held_interp);
  	perl_parse(plperl_held_interp, plperl_init_shared_libs,
! 			   3, embedding, NULL);
  	perl_run(plperl_held_interp);
  
  	if (interp_state == INTERP_NONE)
--- 449,459 ----
  		elog(ERROR, "could not allocate Perl interpreter");
  
  	perl_construct(plperl_held_interp);
+ #ifdef PERL_SYS_INIT
+ 	PERL_SYS_INIT(&nargs, (char ***) &embedding);
+ #endif;
  	perl_parse(plperl_held_interp, plperl_init_shared_libs,
! 			   nargs, embedding, NULL);
  	perl_run(plperl_held_interp);
  
  	if (interp_state == INTERP_NONE)