Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Sometimes no single scalar return value is appropriate for a list-returning subroutine. Your play-testers simply can't agree: different developers consistently expect different behaviours in different scalar contexts.
For example, suppose you're implementing a get_server_status( ) subroutine that normally returns its information as a heterogeneous list:
# In list context, return all the available information...my ($name, $uptime, $load, $users) = get_server_status($server_ID);
You may find that, in scalar contexts, some programmers expected it to return its numeric load value:
# Total load is sum of individual server loads...