Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: access to ERRORLEVEL on Win32

by ramlight (Friar)
on Jun 29, 2009 at 13:50 UTC ( #775675=note: print w/replies, xml ) Need Help??

in reply to access to ERRORLEVEL on Win32

How about something simple like:
>perl -e "exit 5;" >echo %errorlevel% 5 >set lasterrorlevel=%errorlevel% >perl -e "print $ENV{'lasterrorlevel'};" 5

Replies are listed 'Best First'.
Re^2: access to ERRORLEVEL on Win32
by ikegami (Patriarch) on Jun 29, 2009 at 16:46 UTC

    If you're going to modify the program, you might as well just pass the errorlevel as a parameter.

    >cmd /c exit 5 >echo %ERRORLEVEL% 5 >perl -le"print @ARGV" %ERRORLEVEL% 5
      Thanks for all your advice. Passing %ERRORLEVEL% as parameter is one workaround, but it would break the ease of implementation by using my script as filter. There obviously exits no way accessing %ERRORLEVEL% from perl without passing it as parameter, so things like
      cmd /c "make 2>&1 | perl"
      must be changed in batch file like
      make > output.txt 2>&1 perl %ERRORLEVEL% output.txt"
      Unfortunatly the following doesn't work:
      cmd /c "make > output.txt 2>&1 && perl %ERRORLEVEL% output.txt"
      It seems if you start more then one process using && or | ERRORLEVEL is not set for each process but only for the last one. That's why using my script in a pipe and reading %ERRORLEVEL% would never work. I finally use a seperate perl script from where I make the call to make via system() and gather the return code from $?. The output is filtered afterwards.

      Thanks for the help!

        Have you considered an interface like strace and (the unix) time?
        perl make all >output.txt 2>&1

        To launch the child, you'd use

        system { $ARGV[0] } @ARGV

        The down side of this method is that the output of make and vcproj_filter will get mixed together.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://775675]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2022-10-04 17:01 GMT
Find Nodes?
    Voting Booth?
    My preferred way to holiday/vacation is:

    Results (18 votes). Check out past polls.