I can't improve on shmem's reply, but that is exactly the reason why you should be clear as to which type you intend to return - and also why you might wish to use wantarray to check for scalar context.
Comment on Re^3: most appropriate return data type