Change 33848 by [EMAIL PROTECTED] on 2008/05/18 06:28:49
Subject: Re: eval "require Foo" with binary-incompatible XS modules
From: Niko Tyni <[EMAIL PROTECTED]>
Date: Sat, 17 May 2008 21:37:30 +0300
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/pod/perlfunc.pod#601 edit
Differences ...
==== //depot/perl/pod/perlfunc.pod#601 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#600~33840~ 2008-05-17 03:01:08.000000000 -0700
+++ perl/pod/perlfunc.pod 2008-05-17 23:28:49.000000000 -0700
@@ -1562,6 +1562,10 @@
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<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
+
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<$@>.
End of Patch.