First, be careful that the program is in the Path
, not just perl.exe
. The Perl binaries and core programs usually end up in <installdir>\bin
, but others may end up in the site specific directory <installdir>\site\bin
. The command
dir C:\strawberry\ack* /s
might aid your search. Make sure your Path
reflects your setup.
There are two common ways, at least that I know of, to run a Perl program from the Windows Command Prompt.
The first is to create a batch version of the program with pl2bat, which will execute perl
with the program. Installed programs usually do this automatically because MakeMaker
and Module::Build
take care of this.
The second is to create a .pl
file association. This is done by creating the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pl\Shell\Open\Command
(or HKEY_CURRENT_USER
if it's for the current user only) and set the (Default)
value to
"C:\strawberry\perl\bin\perl.exe" "%1" %*
That way, you can call programs just by naming them with the .pl
extension. Now you can invoke the program with program.pl
.
You may have noticed that you can call a program on Windows without the extension. The program is searched for in the Path
, but when there's no extension, PATHEXT
is used to complete the name. Append .pl
to the list, and you can invoke the program just with program
. Note that the order in this list is important for the search, just as the order in Path
matters.
Installers usually take care of the last two steps, but this knowledge is useful if you'd like to add your own or need to fix it.