NAME
    Filesys::POSIX - Provide POSIX-like filesystem semantics in pure Perl

SYNOPSIS
        use Filesys::POSIX
        use Filesys::POSIX::Mem;

        my $fs = Filesys::POSIX->new(Filesys::POSIX::Mem->new,
            'noatime' => 1
        );

        $fs->umask(0700);
        $fs->mkdir('foo');

        my $fd = $fs->open('/foo/bar', $O_CREAT | $O_WRONLY);
        my $inode = $fs->fstat($fd);
        $fs->printf("I have mode 0%o\n", $inode->{'mode'});
        $fs->close($fd);

DESCRIPTION
    Filesys::POSIX provides a fairly complete suite of tools comprising the
    semantics of a POSIX filesystem, with path resolution, mount points,
    inodes, a VFS, and some common utilities found in the userland. Some
    features not found in a normal POSIX environment include the ability to
    perform cross- mountpoint hard links (aliasing), mapping portions of the
    real filesystem into an instance of a virtual filesystem, and allowing
    the developer to attach and replace inodes at arbitrary points with
    replacements of their own specification.

    Two filesystem types are provided out-of-the-box: A filesystem that
    lives in memory completely, and a filesystem that provides a "portal" to
    any given portion of the real underlying filesystem.

    By and large, the manner in which data is structured is quite similar to
    a real kernel filesystem implementation, with some differences: VFS
    inodes are not created for EVERY disk inode (only mount points); inodes
    are not referred to numerically, but rather by Perl reference; and,
    directory entries can be implemented in a device-specific manner, as
    long as they adhere to the normal interface specified within.

READ MORE
    For further information, please consult the POD documentation for the
    Filesys::POSIX module.

COPYRIGHT AND LICENSE
    See the COPYRIGHT and LICENSE files for further details.
