On Fri, Jun 18, 2010 at 3:11 PM, Barry Hall <barryh...@zeninternet.com> wrote: > > I need to call R from within a Perl script. I do so using a system call like > this: > @args = ('R --vanilla --quiet --file=Rblock'); > system(@args) == 0 or die "system @args failed: $!"; > > The script works perfectly when run in Mac OSX or Linux. In Windows XP it > fails with the message " 'R' is not recognized as an internal or external > command, operable program or batch file". > > To ensure that R was properly installed and that the environment variable > "path" was correctly set, I executed the same command (R --vanilla --quiet > --file=Rblock) from the command line and it worked perfectly; i.e. R ran > with the expected behavior. > > Similar system calls to other external programs, e.g. > @args = ('Notepad'); > system(@args) == 0 or die "system @args failed: $!"; > work perfectly. > > Is there any obvious reason that this particular call works from the command > line but not from within a perl script? >
That error is coming from the Windows console so you likely have a PATH problem. Fix your path or use the absolute path in your program. Note that unless you told it not to under normal circumstances the R installer puts a key in the registry and you can alternatively look it up to find R that way. A batch file that does that is in the batchfiles collection at http://batchfiles.googlecode.com ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.