Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I force a Perl script to use ActiveState's wperl?

I have a Perl script that requires two command line arguments that takes a while to run. I am using ActiveState Perl to run it. I can call it with

wperl script.pl arg1 arg2
from a command prompt and it runs in the background fine. If I change the .pl association from perl.exe to wperl.exe and call it with
script.pl arg1 arg2
the arguments don’t get passed. Is there something similar to the #!/usr/bin/perl like I can use to force wperl to get used?
like image 405
Jared Avatar asked Dec 06 '22 07:12

Jared


2 Answers

The Perlmonks node wperl.exe vs perl.exe suggests associating the .wpl extension with wperl. Name all the scripts that you want to run under wperl with a .wpl extension and the other .pl named files use the normal perl.exe.

like image 145
brian d foy Avatar answered Dec 21 '22 22:12

brian d foy


What you can do is change the file association with regards to wperl.exe in the Tools > Folder Options > File Types in any Explorer window and update the .pl extension through Advanced > Open > Edit command line to

{Path to wperl}\wperl.exe "%1" %*

This ensures that all the command line arguments (%*) are passed to wperl.exe whenever you call your script using

script.pl arg1 arg2
like image 44
aks Avatar answered Dec 21 '22 23:12

aks