@echo off c:\devt\perl\bin\perl.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 echo on #### perlbat -V > stdout.log #### c:\devt\perl\bin\perl -V > stdout.log #### @echo off c:\devt\perl\bin\perl.exe -e "$so=qw(stdout.log); $se=$so; open STDOUT, qw(>).$so; open STDERR, qw(>).$se; @args = qw(perl, %1, %2, %3, %4, %5, %6, %7, %8, %9); system(@args) == 0 or warn qw(Failure: $?);" echo on #### $so = qw( stdout.log ); $se = $so; open STDOUT, qw( > ) . $so; open STDERR, qw( > ) . $se; @args = qw( perl, %1, %2, %3, %4, %5, %6, %7, %8, %9 ); system( @args ) == 0 or warn qw( Failure: $? ); #### @args = qw( perl, @ARGV ); #### @echo off '----- ' plog.bat: Optional logging for perl on Win9x. ' ' To log STDOUT, add -L to the parameters. For example: ' ' c:\> plog myscript.pl -L ' ' redirects Perl's STDOUT to a file called stdout.log ' located in the current directory. Share and enjoy. if !%1! == !-L! goto log1 if !%2! == !-L! goto log2 if !%3! == !-L! goto log3 if !%4! == !-L! goto log4 if !%5! == !-L! goto log5 if !%6! == !-L! goto log6 if !%7! == !-L! goto log7 if !%8! == !-L! goto log8 if !%9! == !-L! goto log9 goto nolog :log1 set params=%2 %3 %4 %5 %6 %7 %8 %9 goto doit :log2 set params=%1 %3 %4 %5 %6 %7 %8 %9 goto doit :log3 set params=%1 %2 %4 %5 %6 %7 %8 %9 goto doit :log4 set params=%1 %2 %3 %5 %6 %7 %8 %9 goto doit :log5 set params=%1 %2 %3 %4 %6 %7 %8 %9 goto doit :log6 set params=%1 %2 %3 %4 %5 %7 %8 %9 goto doit :log7 set params=%1 %2 %3 %4 %5 %6 %8 %9 goto doit :log8 set params=%1 %2 %3 %4 %5 %6 %7 %9 goto doit :log9 set params=%1 %2 %3 %4 %5 %6 %7 %8 goto doit :nolog c:\devt\perl\bin\perl.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 goto ciao :doit c:\devt\perl\bin\perl.exe %params% > stdout.log set params= :ciao echo on #### open STDERR, ">&STDOUT";