As a supplement to
merlyn's answer, never be tempted to use
defined on an array (or a hash for that matter). Simply testing the value of the
@array in a scalar context is sufficient. The
defined function makes little sense on any data type other than a
$scalar.