Yes, that's the solution. .pl wasn't in my pathext variable, and by adding it
I achieved the behaviour I wanted.
Thank you very much for your help!
"Alex K. Angelopoulos [MVP]" wrote:
> Check the value of this variable from within PowerShell:
> $env
athext
> I can replicate the behavior you see if I remove .pl from the executable
> extensions there. If it doesn't contain .pl, add it - e.g.,
> $env
athext = "${env
athext};.pl"
>
> "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"?
>
>
>