In your command script you will need to test the value of errorlevel. This is the error value of the last command that ran. If you execute a perl script that exists then errorlevel will be set to 0 (indicating success) unless you used the
exit function (or similar) to set the exit status from perl. If the script cannot be found, then Perl itself will set the errorlevel to an error value.
The following code examples may be of use.
retcode.pl
#! /usr/bin/perl -w
# retcode.pl
# Sets the errorlevel passed as first argument
use strict;
my $retcode = $ARGV[0] || 0;
print "Return code = $retcode\n";
exit $retcode;
returncode.cmd
@echo off
rem A Command file that uses conditional processing.
echo Executing First Script
retcode.pl 0
if errorlevel 1 goto end_label
echo Executing Second Script
retcode.pl 0
:end_label
echo Done!
Play around with the return codes sent to the script and the name of the first scrip to see that the script will jump to the label if the script returns an error value greater than 1 or the script itself is not found.
inman
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.