http://www.perlmonks.org?node_id=997436

anshumangoyal has asked for the wisdom of the Perl Monks concerning the following question:

I am using windows batch to check if Perl is installed on my machine and if it is not installed i install it using command line. This is my code:
FOR /F "tokens=*" %%A IN ('perl -v ^| FIND "This is perl 5, version 12 +, subversion 4 (v5.12.4) built for MSWin32-x86-multi-thread"') DO SET + Variable=%%A IF "%Variable%"=="This is perl 5, version 12, subversion 4 (v5.12.4) b +uilt for MSWin32-x86-multi-thread" ( ECHO Perl 5.12.4 ECHO. ) ELSE ( call msiexec /i win_packages\01_ActivePerl-5.12.4.1205-MSWin32-x86 +-294981.msi /q /l*v logs.txt >> Logs 2>&1 IF %errorlevel% GTR 0 ( echo 01 - Failed to Install 'ActivePerl-5.12.4.1205-MSWin32-x8 +6-294981.msi'. Got Error %errorlevel%. GOTO END ) )
Now the problem is if perl is not installed perl -v throws error which is displayed on output screen which I dont want. Can some one help me routing the output to > nul here.