I am working on some packages and for the creation of the final dtx files I use perl. So far it worked from commandline by just calling the script.pl file.

However now I installed texlive 2012 on my laptop and installed my scripts there, but windows (7, 64) does not know how to handle a *.pl file.

How can I use the texlive perl interpreter for this task?

  • on the command line you could just give the full path to the perl.exe program as in <some path>/perl.exe script.pl. The TL perl is not added to the windows system path as it is only a minimal perl installation suited for TL. – daleif Sep 15 '12 at 15:59

See: How do I make my Perl scripts act like normal programs on Windows?.

And I recommend installing a full Perl interpreter: Perl Binaries/Windows, because the Perl of TeX Live does not include all needed modules for the scripts provided by the distribution. For example, File::Which is not included that is needed by purifyeps:

  • I now installed active to get the very very simple script run. However that still does not answer the question how to use the perl interpreter from texlive for that task. – Matthias Pospiech Sep 15 '12 at 17:24
  • I expect the binary in ...\tlpkg\tlperl\bin\perl.exe. – Heiko Oberdiek Sep 15 '12 at 17:30

If you want your script to work like a normal TeX Live script, here is the way.

  1. Put your script in some location it can be found by kpathsea, eg TEXMFLOCAL\scripts (you may need to create this directory) or some sub-directory. Use kpsewhich -var-value TEXMFLOCAL at a command prompt if you want to check the path of TEXMFLOCAL, which is usually C:\texlive\texmf-local. Don't forget to run mktexlsr afterwards.

  2. Go to C:\texlive\2012\bin\win32 (assuming you installed in C:\texlive\2012) and copy runscript.exe as foo.exe assuming your script is foo.pl.

Et voilà! You can now type foo at a command prompt to run foo.pl.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.