From: Niko Tyni Date: Sat, 17 May 2008 21:37:30 +0000 (+0300) Subject: Re: eval "require Foo" with binary-incompatible XS modules X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5f1da31cc3010163aa29135d0c83706ab31118b8;p=p5sagit%2Fp5-mst-13.2.git Re: eval "require Foo" with binary-incompatible XS modules Message-ID: <20080517183730.GA4440@rebekka> p4raw-id: //depot/perl@33848 --- diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 764deb0..864699d 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -1562,6 +1562,10 @@ determining whether a particular feature (such as C or C) is implemented. It is also Perl's exception trapping mechanism, where the die operator is used to raise exceptions. +If you want to trap errors when loading an XS module, some problems with +the binary interface (such as Perl version skew) may be fatal even with +C unless C<$ENV{PERL_DL_NONLAZY}> is set. See L. + If the code to be executed doesn't vary, you may use the eval-BLOCK form to trap run-time errors without incurring the penalty of recompiling each time. The error, if any, is still returned in C<$@>.