NAME
    IPC::Lite - Share variables between processes

SYNOPSIS
    Simple example creates package global shared variables named "count" and
    "stack".

     use IPC::Lite qw($count, @stack);

    Example of a shared variable "temp", with a 5 second timeout. Uses
    'globaltemp-v1' as the program key, so other programs with this key will
    also be able to access $temp.

     use IPC::Lite Key=>'globaltemp-v1', Timeout=>5, qw($temp);

     $temp = $ARGV[0] if $ARGV[0];

     print "temp is: $temp\n";

    This example shows the power of using this module for IPC:

     use IPC::Lite qw($c);
     $c = undef;

     my $pid = fork;

     if ($pid) {
            wait;
            print "Child told me $c\n";
     } else {
            $c = "hello!";
     }

METHODS
    use IPC::Lite [opt1=>value1[, opt2=>value2 ...],] qw(var1[ var2]...);
        Possible options are:

                Key=>NAME - Unique name of your data store, if not set then one is created for you
                Timeout=>VALUE - Specifies timeout in seconds or in days if "d[ays]" is appended to the VALUE
                Ttl=>VALUE - Alias for timeout
                Path=>PATH - Path to the data store used.  IPC will fail if the path cannot be written to

        Option names are case insensitive.

        If no "vars" are specified, the options are saved as package-level
        defaults.

        If "vars" are specified, then the options are used for *those vars
        only*, and are not saved as defaults.

        For example, this creates 2 package-global variables with different
        timeouts:

         use IPC::Lite Key=>'myuniquekey', 
                       Timeout=>5, qw($fleeting), 
                       Timeout=>'10d', qw($lasting);

    tie $var, 'IPC::Lite', %options
        Makes the variable shared as above, but the variable can be a proper
        lexical. Uses package defaults if any are set.

        Same options described in "use" above, but must also chose one of
        these two required binding methods:

                Sym=>SYMBOL - Name of the symbol tied to (valid for any variable)
                Table=>NAME - Name of the table to store the variable in (valid ONLY for hash or array).

        NOTE:

        The "use" method above merely calls the "tie" method (here) with the
        Sym option set to the name of the symbol passed in. The caller's
        package is added to the symbol name for storage only if the caller's
        package is not "main". You shouldn't need to know this.

    path()
        Prints the path of the data store.

         tied($var)->path();

    db()
        Returns the active database handle. Probably shouldn't use it to
        mess with internals, unless that's your intention.

         tied($var)->db();

SEE ALSO
    DBD::SQLite

AUTHOR
    Erik Aronesty "earonesty@cpan.org"

LICENSE
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    See <http://www.perl.com/perl/misc/Artistic.html> or the included
    LICENSE file.

