in reply to Passing / evaluating / dieing on one line...

Your question isn't that clear, but if you want column_exists to return a particular element, or the zeroth element if that element is undef, then you could write the following:
sub column_exists { my ( $ArrayRef, $Column ) = @_; return ( $ArrayRef->[$Column] || $ArrayRef->[0] ); }
If you want the calling code to die if the value is -1, the following will probably work:
my $label_colnum = &column_exists( \@data, 1 ) if ( $label_colnum == -1 ) { die "Something bad!"; }

--t. alex

"Here's the chocolates, and here's the flowers. Now how 'bout it, widder hen, will ya marry me?" --Foghorn Leghorn