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


in reply to Re: [BUG||FEATURE] Lexical variable saves state after out of scope
in thread [BUG||FEATURE] Lexical variable saves state after out of scope

It's what the C++ people love to refer to as "Undefined behavior."
Which reminds me of an amusing exchange on P5P in 2004:

In scalar context, the behaviour of sort() is undefined.

-- from perldoc -f sort

The other strawman I use is "sort in a scalar context might just play Nethack"

-- Randal L. Schwartz on P5P, June 10 2004

A patch is attached. It's incompatible with David's 'sortedness' patch, and fails if nethack is not in the user's path.

Configure should be expanded to detect rogue-like games that are available on the system, so that an appropriate one can be started if nethack is not installed.

My original goal was for sort to play nethack when called in a void context, however it appears that Perl is smart enough to optimise this instance away.

-- Paul Fenwick's response