NAME
    ExclusiveLock::Guard - lexically-scoped lock management

SYNOPSIS
        use ExclusiveLock::Guard;

        sub blocking_transaction {
            my $lock = ExclusiveLock::Guard->new('/tmp/foo.lock')
                or die 'lock error: ' . ExclusiveLock::Guard->errstr;
            # inner of lock
        }
        blocking_transaction();
        # outer of lock

    for non-blocking

        sub nonblocking_transaction {
            my $lock = ExclusiveLock::Guard->new('/tmp/foo.lock', nonblocking => 1 )
                or die 'lock error: ' . ExclusiveLock::Guard->errstr;
            unless ($lock->is_locked) {
                warn 'is locked';
                return;
            }

            # inner of lock
        }
        nonblocking_transaction();
        # outer of lock

DESCRIPTION
    ExclusiveLock::Guard is very simple lock maneger. To automatically
    create and remove the lock file.

AUTHOR
    Kazuhiro Osawa <yappo {at} shibuya {dot} pl>

COPYRIGHT
    Copyright 2012- Kazuhiro Osawa

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

