File::Copy fixes for VMS follow-up
John Malmberg [Sat, 10 Jan 2009 18:40:40 +0000 (12:40 -0600)]
Message-id: <4968EBA8.8090207@gmail.com>

The eval block needs to capture local $SIG{__DIE__} to prevent modules
with signal trapping from failing when VMS::Feature is not present.

lib/File/Copy.pm

index 954d228..984ef79 100644 (file)
@@ -55,7 +55,7 @@ if ($^O eq 'MacOS') {
 my $use_vms_feature = 0;
 BEGIN {
     if ($^O eq 'VMS') {
-        if (eval 'require VMS::Feature') {
+        if (eval { local $SIG{__DIE__}; require VMS::Feature; }) {
             $use_vms_feature = 1;
         }
     }