title: Is there a way to distinguish error and empty array returned from subroutine when it is called in list context?
body: <p>I have script:</p>
  
  <pre><code>#!/usr/bin/env perl
  
  sub t0 {
      return;     # We return nothing for ERROR
  }
  
  sub t1 {
      @z =  ();
      return @z;  # We return array (which maybe empty) for no ERROR
  }
  </code></pre>
  
  <p>In scalar context I can distinguish error and OK status:</p>
  
  <pre><code>my $x1 =  t0();  # undef
  my $x2 =  t1();  # 0
  </code></pre>
  
  <p>Is there a way to distinguish error and empty array returned from subroutine when it is called in list context?</p>
  
  <pre><code>my @x1 =  t0();  # empty list
  my @x2 =  t1();  # empty list
  </code></pre>
  
  <p>I am feeling that I need "0E0" (Zero but TRUE) but for list context.</p>