MULTI-VALUED HASH ---------------------------------------------------------------------- by Darren Duncan CONTENTS * Preface * Keeping Up To Date * Requirements * Installation * Support * To Do * Author PREFACE This distribution features the Perl 5 module named "Data::MultiValuedHash", which implements a hash whose keys can have multiple ordered values. All of my modules have complete POD inside of them, so please refer to that for a description of the module itself. This Read Me document concerns itself mainly with installation and support issues, and also includes any "To Do" lists. KEEPING UP TO DATE My module set is constantly under development. You should be able to find the newest versions at my website, "http://www.DarrenDuncan.net", on the page called "Perl Libraries I Made" (name subject to change). They can also be found on CPAN under the author name of "DUNCAND". I am inclined to update the copies on my web site more often, but those intermediate versions are more likely to have been tested less, and the modules may be updated day by day without increasing the version numbers. However, the copies on CPAN are guaranteed to have unique version numbers when the module has changed. REQUIREMENTS All of my modules require Perl 5.004 or newer, even though only some of them need it, in the interest of consistency. That said, Perl 5.004 is already 3 years old, is available as a binary on practically every OS that supports Perl at all, and is a very solid release, so I see no reason to support anything older. This module doesn't require anything else. INSTALLATION To install this module, cd to the directory that contains all of the extracted distribution files, including this ReadMe file, and type the following: perl Makefile.PL make make test make install The last step probably won't work if you are not the administrator of your machine; in that case you either need to get your administrator to install this for you, or put it in a your own local directory instead. The Makefile.PL can do this for you if you substitute something like the following for the first line above: perl Makefile.PL PREFIX=/tmp/myperl5 or: perl Makefile.PL PREFIX=/home/me/myperl5 If you are on a Mac system and/or you are otherwise having problems with the Makefile, you can still install this module the old fashioned way, by copying. The file "MultiValuedHash.pm" goes inside the "Data" folder which is in the "lib" folder that came with your Perl 5 distribution. Or alternately, put them anywhere you want, but you will need to have that location added to your include path by your main program using something like this: use lib '/home/me/myperl5/lib'; Then you would want to run the included test program to make sure the module is installed correctly. Call it with: perl -w test.pl Any existing POD is embedded in the module itself. The Makefile probably extracted it for you in the usual manner, or you can run a POD extractor on it yourself to the same effect. You can also find an HTMLized copy of the POD on CPAN and other public source archives; I link to one copy of it on my web site. SUPPORT Currently I don't have any support arranged with other people, lists, newsgroups, or otherwise. Feel free to ask me if you can't figure things out on your own, or another person whom you know has used this. I may start a mailing list for support issues later, so that users of my modules can help each other with them. TO DO * Add a method like scan() to allow custom processing of the content using a passed in code ref. * Add a method like is_equal() to allow easy comparison of two MVH objects. * I have no more ideas in this regard, but am open to suggestions. * Get my other modules done. AUTHOR Copyright (c) 1999-2002, Darren R. Duncan. All rights reserved. These modules are free software; you can redistribute them and/or modify them under the same terms as Perl itself. However, I do request that their copyright information remains attached to the files. If you modify this module and redistribute a changed version then please attach a note listing the modifications. I am always interested in knowing how my work helps others, so if you put this module to use in any of your own code then please send me the URL. Also, if you make modifications to the module because it doesn't work the way you need, please send me a copy so that I can roll desirable changes into the main release. Address comments, suggestions, and bug reports to perl@DarrenDuncan.net. Share and Enjoy!