Why does map() mask the 'undefined value' error? : <p>I'm wondering why a call to <code>map</code> in the second snippet makes the 'undefined value' error gone?</p>

<pre><code>use strict;
use warnings;
my $x;
my @a = @{ $x }; # error: Can't use an undefined value as an ARRAY reference
</code></pre>

<p>Compare to: </p>

<pre><code>use strict;
use warnings;
my $x;
my @a = map $_, @{ $x }; # no error, @a is empty
</code></pre>
