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


in reply to Re: how to avoid mis-spelling hash keys?
in thread how to avoid mis-spelling hash keys?

"use field" and pseudo hash is definitely what I want to avoid, as it is obsoleted, and the syntax affects the way you coding too much.
  • Comment on Re: Re: how to avoid mis-spelling hash keys?

Replies are listed 'Best First'.
Re: Re: Re: how to avoid mis-spelling hash keys?
by graff (Chancellor) on Jan 05, 2003 at 18:46 UTC
    I would agree that the new "Hash::Util::lock_keys()" is a neater approch (pg++), but I didn't see anything in the perl 5.8 man page for "fields" to indicate that it was being depricated -- so where did you hear that it is "obsoleted"? (Just curious. I'm sure this pragma has been used by many who were not so offended by it as you seem to be, and they'd want to know...)
      I don't know how reliable this source is: Pseudo hashes will die, but it's not the first time i have heard this news:
      Pseudo hashes (the strange things that appeared with
      the compiler in in 5.005-or-so) will die. They're
      depreciated in 5.8, and will be gone from 5.10, because
      they slow down all hashes and all arrays (by about 15%,
      Schwern calculates). The functionality which currently is 
      implemented with pseudo-hashes (fields.pm) will remain, 
      probably using the new restricted hashes.
      

      jeffa

      mmmmm ... restricted hashes
      It is true that pseudo-hash is now deprecated in Perl 5.8 and will be removed in perl 5.10, and this is stated in perlref coming with 5.8.0. (search for pseudo-hash in perlref)

      However the "use fields" pragmas is still there, and will be there for (at least) a while, but likely will point to a different implementation.

      Update:

      Some monks may not have 5.8 downloaded, let me just add a link to the online version of 5.8 perlref
      I'm not sure what really happened to this discussion (it's quite long ago now - at least seems to be ;-)), but this thread on P5P might answer a lot of your questions.

      A quick search on the P5P-archive might enlighten you, too.

      regards,

      janx

      The pseudo-hash feature has been deprecated as of 5.8.0, but fields.pm/base.pm will be retooled in future versions of Perl so they can be used the same way. (Except for fields::phash(), of course...)

      =cut
      --Brent Dax
      There is no sig.