in reply to Redirect output of Test::More/Simple

Redirecting output on win32 from a script called by just its name is broken, see the release notes.

Two fixes are possible:

  1. perl test1.pl > file.txt
  2. use pl2bat, shipped with activestate perl. This will wrap your perl-script in a .bat-file, from which redirecting will work;
    pl2bat test1.pl test1.bat > file.txt

Replies are listed 'Best First'.
Re^2: Redirect output of Test::More/Simple
by blazar (Canon) on Aug 29, 2006 at 08:15 UTC
    Redirecting output on win32 from a script called by just its name is broken, see the release notes.
    C:\temp>cat foo.pl #!/usr/bin/perl -l use strict; use warnings; print 'Foo'; __END__ C:\temp>foo Foo C:\temp>foo >foo.txt C:\temp>cat foo.txt Foo
    use pl2bat, shipped with activestate perl. This will wrap your perl-script in a .bat-file, from which redirecting will work;

    OTOH I'm new on cmd.exe, I've been on command.com (when using Windows) till just about one month ago, and there I had to use pl2bat, with which for some reason redirecting did not work. Which was a major pita and caused me to implement -i, -o switches for some of my commonly used scripts.