runperl.bat - ``universal'' batch file to run perl scripts


        C:\> copy runperl.bat foo.bat
        C:\> foo
        [..runs the perl script `foo'..]
        C:\> foo.bat
        [..runs the perl script `foo'..]


This file can be copied to any file name ending in the ``.bat'' suffix. When executed on a DOS-like operating system, it will invoke the perl script of the same name, but without the ``.bat'' suffix. It will look for the script in the same directory as itself, and then in the current directory, and then search the directories in your PATH.

It relies on the exec() operator, so you will need to make sure that works in your perl.

This method of invoking perl scripts has some advantages over batch-file wrappers like pl2bat.bat: it avoids duplication of all the code; it ensures $0 contains the same name as the executing file, without any egregious ``.bat'' suffix; it allows you to separate your perl scripts from the wrapper used to run them; since the wrapper is generic, you can use symbolic links to simply link to runperl.bat, if you are serving your files on a filesystem that supports that.

On the other hand, if the batch file is invoked with the ``.bat'' suffix, it does an extra exec(). This may be a performance issue. You can avoid this by running it without specifying the ``.bat'' suffix.

Perl is invoked with the -x flag, so the script must contain a #!perl line. Any flags found on that line will be honored.


Perl is invoked with the -S flag, so it will search the PATH to find the script. This may have undesirable effects.


perl, perlwin32, pl2bat.bat


We are painfully aware that these documents may contain incorrect links and misformatted HTML. Such bugs lie in the automatic translation process that automatically created the hundreds and hundreds of separate documents that you find here. Please do not report link or formatting bugs, because we cannot fix per-document problems. The only bug reports that will help us are those that supply working patches to the installhtml or pod2html programs, or to the Pod::HTML module itself, for which I and the entire Perl community will shower you with thanks and praises.

If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in the explanations or code, please use the perlbug utility included with the Perl distribution.

--Tom Christiansen, Perl Documentation Compiler and Editor

Return to the Perl Documentation Index.
Return to the Perl Home Page.