Ken Williams <[EMAIL PROTECTED]> wrote on 03/14/2005 04:23:10 PM:
> Thanks, applied verbatim (except that I moved the system() call into a
> my_system() subroutine in case I want to use it again later).
Hmm - well I suppose I should mention a few tricky aspects
of using MCR on VMS. Perhaps most important for your intended
use is that, suppose that $exe contains the name of a program to
test run (e.g. 'myprog' on Unix, 'myprog.exe' on VMS) then the
construct:
system("mcr $exe");
will not, unfortunately do what you want on VMS. MCR does
not understand unix file/paths/at/all hence you would need
to use the VMS native equivalent to ./myprog for use with MCR
in those cases where the link occurs in the top level source directory.
For example:
if ($^O eq 'VMS') {
$exe = "sys\$disk:[]$exe";
}
would prepend the needed sys$disk:[]myprog.exe as MCR will
require (lest your ask it to run something out of the SYS$SYSTEM:
directory).
That type of path prefix was not needed for the $exe_file that is
now in 02-link.t since it is on VMS eq '[.t]compilet.exe', that is,
it has a directory portion of its path.
I hope that proves helpful (even if somewhat hard to remember).
Peter Prymmer