in reply to Re^2: undefined value as an ARRAY reference sometimes ok
in thread undefined value as an ARRAY reference sometimes ok

Sorry for the lack of clarity in my first response. It's the attempt to dereference $list that causes the autovivification. In your last example, you are attempting to dereference your function call, not $list.