If the program returned 5 lines the first time, and only 2 the next, won't there be lines left over from the first time? How can I tell how many _additional_ lines I got back?
This rather depends on how you have things scoped. If the backticks are in a subroutine that gets called multiple times, each invocation of the routine will get a new array if the backticks line is coded as:
my @lines = `findgsc ...`;
If you move the declaration of @lines higher in the script, and then do
@lines = `findgsc ...`;
multiple times, each one overwrites @lines with new values. To get a delta on line count (i.e., note additional lines), merely save the prior count. Conceptually,
@lines = `finedgsc ...`;
$prevLines = scalar @lines;
@lines = `findgsc ...`;
if ( scalar @lines > $prevLines ) {
# we got more this time
}
Note that
scalar @lines is the absolute line count, while
$#lines is the final index in the array, which will be one less than the absolute count. Which to use is a matter of style, but don't confuse the two.