吉田正人さんの Perl module を FreeBSD port にしたときに、以下の
パッチを当てました。少々遅くなりましたがフィードバックします。

 主に、 Perl 5.6.0 に対応させるためのものです。perl.c の差分の
第二ハンクは FreeBSD のように Perl が dynamic link binary な環境用
なので、多くの Linux distro にとっては無用の長物かもしれません。

# Perl 5.6.0 の MakeMaker は Perl 拡張モジュール(XS) 用の
# Makefile を生成する際に LDFLAGS に -lperl を入れてくれないのね。。


 なお、動作確認は FreeBSD 5.0-CURRENT + Perl 5.6.0 および
FreeBSD 3.5-STABLE + Perl 5.00503 で行いました。

 Linux などでも問題がなければ取り込んでやってください。

--- perl.c.orig	Mon Mar  8 15:55:24 1999
+++ perl.c	Fri Aug 11 18:07:29 2000
@@ -10,9 +10,13 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <dlfcn.h>
 #include <EXTERN.h>
 #include <perl.h>
 
+#define PERL_POLLUTE 1
+#include "embedvar.h"
+
 /* For the earlier versions of Perl */
 #ifndef ERRSV
 #  define ERRSV GvSV(errgv)
@@ -49,7 +53,13 @@
 static void
 perl__xs_init()
 {
+  void *h;
+
+  h = dlopen("/usr/lib/libperl.so", RTLD_GLOBAL | RTLD_LAZY);
+ 
   newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, __FILE__);
+
+  dlclose(h);
 }
 
 static VALUE
--- Ruby/Ruby.xs.orig	Sun Mar  7 20:02:04 1999
+++ Ruby/Ruby.xs	Fri Aug 11 04:29:19 2000
@@ -9,6 +9,9 @@
 #include "perl.h"
 #include "XSUB.h"
 
+#define PERL_POLLUTE 1
+#include "embedvar.h"
+
 /* For the earlier versions of Perl */
 #ifndef ERRSV
 #  define ERRSV GvSV(errgv)


-- 
                           /
                          /__  __       
                         / )  )  ) )  /
Akinori -Aki- MUSHA aka / (_ /  ( (__(  @ idaemons.org / FreeBSD.org

"We're only at home when we're on the run, on the wing, on the fly"