In response to a P5P posting, I strolled through perlfunc and came up with a representative list of the scalar context return values for things we normally use in a list context. Surprisingly, more things don't return a length than do. Here's the list:
@foolength (efficiently)
keys/valueslength (efficiently)
splitlength, but @_ side-effect
(10, 20, 30)last element
@foo[3..5]last element
(10, 20, 30)[2, 1]last element
splicelast element
callerpackage name (first element of list return)
eachkey (first element)
getpwuidusername (first element)
getpwnamuser ID (third element of list return)
glob/<*>"next" item (repeat until undef)
gmtime/localtimeprintable string (instead of list of components)
readline/<HANDLE>"next" item (repeat until undef)
readpipe/``/qxone item instead of list of lines
readdir"next" item (repeat until undef)
reversestring reverse instead of list reverse
select(4-arg)$nfound (first element of list)
statsuccess value
times$user (first element)
unpackfirst element

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.