in reply to Empty list as a return value

There is no way to return an "undefined list" as distinct from an "empty list". Please go read the replies to your last posting. You can only return an empty list. For the following code:

sub empty { return; } @x= empty(); print defined(@x) ? "defined" : "not", "\n";
what is printed depends entirely on whether @x was "defined" before any of this happened. Stop using defined() on arrays.

        - tye (but my friends call me "Tye")