http://www.perlmonks.org?node_id=599290


in reply to Dropping the ampersand

sort treats the first parameter specially if it looks like a function name. It uses the function by the specified name as the compare function during sorting. You can use a unary-+ to disambiguate.

@livesys = sort +Con::liveones;
is the same
@livesys = sort { $a cmp $b } Con::liveones;
with no lost efficiency.

It's no better and no worse than
@livesys = sort &Con::liveones;

Both are better than
@livesys = sort @{[Con::liveones]};