http://qs321.pair.com?node_id=11106008


in reply to Re: Handling MSWin Script Output
in thread Handling MSWin Script Output

G'day VinsWorldcom,

I got the same as you for 'assoc' and 'ftype' in cmd.exe:

C:\Users\ken\tmp>assoc | find /i "perl" .pl=Perl_program_file C:\Users\ken\tmp>ftype | find /i "Perl_program_file" C:\Users\ken\tmp>

In the registry, I have exactly the same as you (except I have C:\Users\ken\local\opt\strawberry_perl\5_030_000\install instead of your C:\Strawberry).

In your PowerShell output, you show everything output to the PowerShell, instead of the commands starting with perl being output in a separate window. Did you do something else to achieve that?

In cmd.exe, I get much the same as you:

C:\Users\ken\tmp>perl .\test_platform.pl Platform: MSWin32 Executable: C:\Users\ken\local\opt\strawberry_perl\5_030_000\install\p +erl\bin\perl.exe Enter to close window: C:\Users\ken\tmp>.\test_platform.pl Platform: MSWin32 Executable: C:\Users\ken\local\opt\strawberry_perl\5_030_000\install\p +erl\bin\perl.exe Enter to close window: C:\Users\ken\tmp>perl test_platform.pl Platform: MSWin32 Executable: C:\Users\ken\local\opt\strawberry_perl\5_030_000\install\p +erl\bin\perl.exe Enter to close window: C:\Users\ken\tmp>test_platform.pl Platform: MSWin32 Executable: C:\Users\ken\local\opt\strawberry_perl\5_030_000\install\p +erl\bin\perl.exe Enter to close window: C:\Users\ken\tmp>

So, the answer to Question 1 seems to be to remove the

if ($^O eq 'MSWin32') { print 'Enter to close window: '; <>; }

and run all scripts from "cmd.exe".

— Ken