“Security” is not really the issue here, as long as you understand what you are doing and test everything properly. In other words, I don't think that this implementation is flawed by any means.
Okay, I've done some more studying-and-scratching on this one, and here is the understanding that I've come up with. Fellow Monks, please tell me if I'm right.
- The declaration will automagically create the appropriate accessor-routines, without me having to do anything further. In other words, “these are the names of methods that will magically appear,” not “the names of methods that you are obligated to provide.”
- This module-author intentionally chose a “non-standard” name for his read-accessor routine, by prefixing an underscore '_' to the name. Then, he provided what amounts to a read-accessor of his own, with the name that you would have expected. And this one calls the accessor created by the preceding declaration.
-
There would have been a conflict had he said sub _fif, because then there would have been two subs by that name. But here, “that name's not taken,” so it's okay.
(Blink...) Yes?