--- perl_built/lib/ExtUtils/MM_Unix.pm	2003-09-09 10:10:23.000000000 -0400
+++ perl/lib/ExtUtils/MM_Unix.pm	2003-09-09 11:33:00.000000000 -0400
@@ -2321,7 +2321,10 @@
 
     # Build up a set of file names (not command names).
     my $thisperl = $self->canonpath($^X);
-    $thisperl .= $Config{exe_ext} unless $thisperl =~ m/$Config{exe_ext}$/i;
+    $thisperl .= $Config{exe_ext} unless
+                # VMS might have a file version # at the end
+      $Is_VMS ? $thisperl =~ m/$Config{exe_ext}(;\d+)?$/i
+              : $thisperl =~ m/$Config{exe_ext}$/i;
 
     # We need a relative path to perl when in the core.
     $thisperl = $self->abs2rel($thisperl) if $self->{PERL_CORE};
@@ -2331,7 +2334,6 @@
     if ( $Is_VMS ) {
         if ( defined( $Config{usevmsdebug} ) ) {
             if ( $Config{usevmsdebug} eq 'define' ) {
-                push @perls, map { "$_$Config{exe_ext}" } ('ndbgperl');
                 $ndbg = 'ndbg';
             }
         }
@@ -2355,8 +2357,13 @@
     # supply switches with perl
 
     # Define 'FULLPERL' to be a non-miniperl (used in test: target)
-    ($self->{FULLPERL} = $self->{PERL}) =~ s/miniperl/${ndbg}perl/i
-	unless $self->{FULLPERL};
+    if( $self->{PERL_CORE} ) {
+        ($self->{FULLPERL} = $self->{PERL}) =~ s/miniperl/${ndbg}perl/i
+	    unless $self->{FULLPERL};
+    }
+    else {
+        ($self->{FULLPERL} = $self->{PERL}) unless $self->{FULLPERL};
+    }
 
     # Little hack to get around VMS's find_perl putting "MCR" in front
     # sometimes.
