#!/usr/bin/perl
######################################################################
# exfile.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

use Fcntl qw/:flock/;

$lockfile = ".lockfile";

sub exwrite {
    open(WFILE, "<+$lockfile") || 
        die "Error opening $lockfile";

    flock(WFILE, LOCK_EX);    # start of critical region

    seek(WFILE, 0, 0);        # jump to beginning
    truncate(WFILE, 0);       # ... and truncate

    print WFILE "$_[0]";
    
    close(WFILE);             # endof critical region
}

sub exread {
    open(RFILE, "<$lockfile") ||
        die "Error opening $lockfile";

    flock(RFILE, LOCK_SH);    # start of critical region

    my @file = <RFILE>;       # read file
    
    close(RFILE);             # end of critical region

    join('', @file);
}


