Re: eval "require Foo" with binary-incompatible XS modules
Niko Tyni [Sat, 17 May 2008 21:37:30 +0000 (00:37 +0300)]
Message-ID: <20080517183730.GA4440@rebekka>

p4raw-id: //depot/perl@33848

pod/perlfunc.pod

index 764deb0..864699d 100644 (file)
@@ -1562,6 +1562,10 @@ determining whether a particular feature (such as C<socket> or C<symlink>)
 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<$@>.