I developed a module to make interacting with masks more pleasant (both generating masks from a list of constants, breaking the mask back into constants, and explaining the mask in terms of a minimal list of constants). It was originally developed for use under Win32, so I named it Win32::MaskManipulation. I'd like to release the code, but it occurs to me that there is nothing in it that is actually dependent upon Win32 - the code is 100% Perl and the concepts and approach apply equally well to any platform that uses constant masks that fit inside a Perl integer. With that in mind, are there any suggestions for where it might fit cleanly in the module hierarchy?
Also, I'm working on a set of modules to be termed Win32::Security. I grew frustrated with poorly-optimized or memory-leaking modules for doing work with permissions under WinNT/2K/XP, so I started developing my own. I'm sticking to pure Perl code, using Win32::API to do all of my API work. All of these modules (Win32::Security::DACL, Win32::Security::File, Win32::Security::Raw, and Win32::Security::SID) were developed to support a very useful utility for doing permissions enumeration on Win2K/XP machines. It supports distinguishing between inherited and explicit permissions, as well as detecting situations in which the static permissions model has resulted in the inherited permission getting out of whack. I'd really like to distribute the script with the module (since it serves both as excellent sample code and as a useful utility), and if it were a Unix module, I'd simply stick it in a Samples directory. The problem is that most Win32 people use PPM to download modules, and that is only going to install code that goes into the INST_LIBDIR. What I'm proposing is to stick PermEnum.pl into the Win32\Security directory. I realize this isn't the proper way to do this, but it would make the script available to people who have installed the module via PPM without them having to go find the module on CPAN, find a copy of gunzip and tar, etc. Thoughts? --Toby Ovod-Everett TEVERETT (wondering if this message will get rejected because my e-mail address has changed and PAUSE seems to be down so I can't update things)