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


Dave

  • Comment on Re: [BUG||FEATURE] Lexical variable saves state after out of scope

Replies are listed 'Best First'.
Re^2: [BUG||FEATURE] Lexical variable saves state after out of scope
by eyepopslikeamosquito (Bishop) on Apr 26, 2012 at 13:06 UTC

    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