I'm having tough time in understanding why the following works:
my $array_reference;
foreach $element (@{$array_reference}) {
# some code
}
while the following does not work
my $array_reference;
if (scalar (@{$array_reference}) {
# some code here
}
I understand that perl brings to life (auto-vivifies) undefined reference. But I am still confused as in why the latter code segment throws FATAL.