View Single Post
Old 11-25-2006   #5 (permalink)
Alex K. Angelopoulos [MVP]


 
 

Re: How to execute (perl) scripts in Powershell without DOS box

See my second response. I suspect the problem is that .pl files aren't
listed in your $envathext variable.

"Thomas Mogwitz" <ThomasMogwitz@discussions.microsoft.com> wrote in message
news:B37A6298-9C50-4A49-8489-DEC11D6684A1@microsoft.com...
> I'm using ActiveState Perl 5.8.8 (Build 816). I installed Perl before I
> installed Microsoft Powershell. So my question remains...
>
> Can you elaborate (by example of your machine), what actions
> Windows does when you execute a perl script from within Powershell,
> so I can understand the mechanisms in full and can check out which
> differences on my machine prevent it from working?
>
> "Alex K. Angelopoulos [MVP]" wrote:
>
>> What Perl distribution are you using?
>>
>> For me with ActiveState Perl this "just works". It sounds like there is
>> some
>> kind of proxying handler that was installed with Perl or as an addon that
>> is
>> getting in the way.
>>
>> "Thomas Mogwitz" <Thomas Mogwitz@discussions.microsoft.com> wrote in
>> message
>> news:2E198CE6-2D74-440E-AC0B-E8E5E55CF5D5@microsoft.com...
>> > Hi folks,
>> >
>> > I am trying to execute a bunch of perl scripts from within a Powershell
>> > by simply writing their name (and pressing Return, of course). The
>> > problem is, everytime I do so a DOS box (cmd.exe) pops up, displays
>> > the script output and closes itself. I instead want to see the output
>> > in my Powershell.
>> > I get the desired result by executing "perl.exe xyz.pl", but why not
>> > when I simply execute the script?
>> >
>> > I searched the registry and found out that the file ending '.pl' is
>> > associated with a 'PersistentHandler' that is connected to a class id
>> > with
>> > 'query.dll' as 'InProcServer32'. Here I'm stuck. I suppose that this
>> > query.dll again searches the registry for the registered file type .pl
>> > and
>> > finds out that it is linked to the file type 'Perl', which has a shell
>> > open
>> > command 'perl.exe %1'. So what's the difference between finding that
>> > out and running perl.exe with my script and me executing
>> > "perl.exe xyz.pl"?

>>
>>
>>



My System SpecsSystem Spec