INTRO: This is IPC::Shm::Simple, a PERL module that provides storage of simple data in SysV shared memory segments. Simple means string or numeric. It is a derivative of IPC::ShareLite by Maurice Aubrey. COPYRIGHT / LICENSE: Copyright (C) 2005 K Cody Copyright (C) 1998-2002 Maurice Aubrey This software may be modified and/or redistributed under the terms of either the Artistic License or the GNU General Public License, at the discretion of the modifier/redistributor. These are the same terms under which PERL itself is distributed. MAJOR CHANGES FROM ShareLite: Actual shared memory segment and semaphore operations are in separate code modules from the API implementation. The monolithic new() call is gone, replaced by create(), attach(), remove(). The unlock() call is gone, use lock( LOCK_UN ). There are new shmat() and shmid() calls for effectively working with unkeyed shared memory segments. There is a new Descriptor structure that holds shared object data in the top shared memory segment, so no space is wasted in the chunk segments. The semaphore doesn't use the ipckey at all anymore. Chunk segments can now be a different size than the top segment. The PERL layer provides defeatable read-caching and write verification. The PERL layer also caches instances, to keep the kernel shm table limited to one connection per share object per process. API DOCUMENTATION: It works through an object oriented interface. See the POD's and test.pl. DEPENDENCIES: Test::More Test::Harness Storable Class::Attrib Class::Multi PORTABILITY: It has compiled and tested cleanly on: x86 - Linux 2.6 Gentoo 2004.0 x86 - Linux 2.6 Fedora FC2 x86 - Linux 2.4 Debian 2.2 AMD - Linux 2.6 Fedora Core 3 PPCG4 - Mac OS X 10.3 It has compiled and tested with warnings on: x86 - OpenBSD 3.4 - possible Test::Harness bug Alpha - Linux 2.2 Debian 3.0 - va_list warnings It has compiled but not tested on: x86 - FreeBSD 4.8 - no Test::More x86 - NetBSD 1.6.1 - no Test::More It will not compile on Solaris due to the absence of LOCK_? definitions. All test servers except Gentoo and Mac were provided by SourceForge, and had a variety of PERL versions ranging from 5.004 to 5.8.5. Some required manual installation of: Test::Harness Test::More Storable There are two dependencies whose list entries have yet to be approved: Class::Multi Class::Attrib GETTING THE SOFTWARE: They can be downloaded from my CPAN directory, or from SourceForge CVS. IPC::Shm::Simple can be checked by: CVSROOT=":pserver:anonymous@cvs.sourceforge.net/cvsroot/ipcshm-simple" cvs -z3 -d$CVSROOT co ipcshm-simple Class::Multi can be checked out by: CVSROOT=":pserver:anonymous@cvs.sourceforge.net/cvsroot/class-multi" cvs -z3 -d$CVSROOT co class-multi Class::Attrib can be checked out by: CVSROOT=":pserver:anonymous@cvs.sourceforge.net/cvsroot/class-attrib" cvs -z3 -d$CVSROOT co class-attrib AUTHOR CONTACT INFO: Bug reports, questions, and flames should be sent to: K Cody