in reply to Win32 Execution: UNiX Style (NT)
Moving from typing
<cite>perl foo.pl</cite>
to
<cite>foo</cite>
using the above method will work for standalone programs
but not for more complicated Command Lines, e.g.
<cite>foo > foo_results.txt</cite>
Similarly, if foo.pl is a filter (like a pager program, or
a program that makes substitutions to its input), then
<cite>mycommand | foo</cite>
also won't work.
This is due to a bug, apparently in Win32. (Though as batch files and executables can quite happily redirect input/output, I don't understand why it can't be circumvented??).
A workaround is to turn any perl scripts that need to redirect IO into a batch file, which doesn't have the same bug... Luckily the handy pl2bat program that comes standard with Win32 distributions of Perl does this, basically by putting a batch wrapper script around your Perl code.
Note: This doesn't contradict the effectiveness of the original technique above for simple scripts though!pl2bat foo.pl foo.bat | more foo | more foo > results.txt dir | foo
Cheerio!
Osfameron
http://osfameron.perlmonk.org/chickenman
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Win32 Execution: UNiX Style
by emcb (Beadle) on Mar 16, 2002 at 03:33 UTC |
In Section
Tutorials