ExtUtils::PL2Bat(3pm) Perl Programmers Reference Guide ExtUtils::PL2Bat(3pm)

# [NAME](#NAME)

ExtUtils::PL2Bat - Batch file creation to run perl scripts on Windows

# [VERSION](#VERSION)

version 0.005

# [OVERVIEW](#OVERVIEW)

This module converts a perl script into a batch file that can be executed on Windows/DOS-like operating systems. This is intended to allow you to use a Perl script like regular programs and batch files where you just enter the name of the script \[probably minus the extension] plus any command-line arguments and the script is found in your **PATH** and run.

# [FUNCTIONS](#FUNCTIONS)

## [pl2bat(%opts)](#pl2bat%28_opts%29)

This function takes a perl script and write a batch file that contains the script. This is sometimes necessary

- "in"
  
  The name of the script that is to be batchified. This argument is mandatory.
- "out"
  
  The name of the output batch file. If not given, it will be generated using "in" and "stripsuffix".
- "ntargs"
  
  Arguments to invoke perl with in generated batch file when run from Windows NT. Defaults to '-x -S %0 %\*'.
- "otherargs"
  
  Arguments to invoke perl with in generated batch file except when run from Windows NT (ie. when run from DOS, Windows 3.1, or Windows 95). Defaults to '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9'.
- "stripsuffix"
  
  Strip a suffix string from file name before appending a ".bat" suffix. The suffix is not case-sensitive. It can be a regex or a string and a trailing "$" is always assumed). Defaults to "qr/\\.plx?/".
- "usewarnings"
  
  With the "usewarnings" option, " -w" is added after the value of $Config{startperl}. If a line matching "/^#!.\*perl/" already exists in the script, then it is not changed and the **-w** option is ignored.
- "update"
  
  If the script appears to have already been processed by **pl2bat**, then the script is skipped and not processed unless "update" was specified. If "update" is specified, the existing preamble is replaced.

# [ACKNOWLEDGEMENTS](#ACKNOWLEDGEMENTS)

This code was taken from Module::Build and then modified; which had taken it from perl's pl2bat script. This module is an attempt at unifying all three implementations.

# [AUTHOR](#AUTHOR)

Leon Timmermans &lt;leont@cpan.org&gt;

# [COPYRIGHT AND LICENSE](#COPYRIGHT_AND_LICENSE)

This software is copyright (c) 2015 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2026-10-26 perl v5.44.0

---

Document: ExtUtils::PL2Bat(3pm) from perl 5.44.0-r3 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
