#!/usr/bin/perl -w use warnings; use strict; use POSIX; my $command = "ant clean"; my $return = system ($command); print "RETURN VALUE: $return\n"; print "CHILD_ERROR_NATIVE: ${^CHILD_ERROR_NATIVE}\n"; #### ####OUTPUT###### #PASSING CASE c:\BUILD_DIRECTORY>perl test.pl Buildfile: build.xml Trying to override old definition of task javac clean: BUILD SUCCESSFUL Total time: 0 seconds RETURN VALUE: 0 CHILD_ERROR_NATIVE: 0 c:\BUILD_DIRECTORY>ant clean Buildfile: build.xml Trying to override old definition of task javac clean: BUILD SUCCESSFUL Total time: 0 seconds c:\BUILD_DIRECTORY>echo %ERRORLEVEL% 0 <------------------------------- # FAILING CASE c:\NOT_BUILD_DIRECTORY>perl jet\test.pl Buildfile: build.xml does not exist! Build failed RETURN VALUE: 0 CHILD_ERROR_NATIVE: 0 c:\NOT_BUILD_DIRECTORY>ant clean Buildfile: build.xml does not exist! Build failed c:\NOT_BUILD_DIRECTORY>echo %ERRORLEVEL% 1 <-------------------------