OzzyOsbourne has asked for the wisdom of the Perl Monks concerning the following question:

I'm running Activestate's distribution on a win2k pro box. I have no problems running Perl at all.

Has anyone successfully used Perl via the Windows Scripting host (WSH)? When I very simplistic, microsoft supplied "Hello world" scripts, explorer crashes. I'm not posting any code samples, b/c it doesn't seem to matter what the samples contain.

If it's possible, I would prefer to use Perl with the WSH, but if it requires that I brush up on VBScript, b/c Microsoft prefers VBScipt, I'll have to do that. I'd just prefer to use Perl.

OzzyOsbourne senses he will get, no 3 "Use a real O/S" replies...And the body is in the barn near the water and the fat man.


Replies are listed 'Best First'.
Re: Perl and the Windows Scripting host
by bwana147 (Pilgrim) on Jul 11, 2001 at 17:47 UTC

    I've never been there myself, but do you use ActiveState's PerlScript as opposed to regular Perl? I think only the former can be used w/ the WSH.

    And if you can be so kind to explain why you'd prefer using the WSH instead of a normal shell, I'd be interested (I hardly now what WSH is). <troll>However, I won't ask why you prefer to run W2k instead of a real OS, I know some people are forced to by their management ;-)</troll>


      Yes, it is PerlScript.

      The reason that I have found for going to the windows scripting host is that it is more logistically flexible than a simple DOS batch file beacuse it uses scripting languages like PerlScript and VBScript. This should allow for combining of scripts, etc.

      The reason that I was given was: Corporate directive.

      OzzyOsbourne sees only one troll comment. Maybe the body is not near the water at all...


Re: Perl and the Windows Scripting host
by $code or die (Deacon) on Jul 12, 2001 at 15:03 UTC
    I've used windows scripting host a couple of times to super-charge some vbscript files. It's nice because you can mix and match languages in a single file. I've also used it to create windows components that you can register and later use with Win32::OLE or VBScript CreateObject() methods etc. It's nice, so long as you don't mind your scripts only being able to run on Win32.
    Here's a small template .wsf that works on my system...
    <Job ID="MyPerlWSH"> <script language=PerlScript> # Perl Script begins here use strict; use vars qw($WScript $WShell); $WScript->Echo("Hello World!"); # Perl Script ends here </script> </Job>
    Your wsh files need to have a .wsf extension. You'll also notices that things like "print" won't work in a .wsf file, so you need to use $WScript->Echo()

    Since you are running ActivePerl, you can have a look at the documentation for a bit more help. Look in the left-hand frame for "Windows Scripting".

    Error: Keyboard not attached. Press F1 to continue.