NAME
    Tie::Mounted - Tie a mounted node to an array

SYNOPSIS
     use Tie::Mounted;

     tie @files, 'Tie::Mounted', '/backup', '-v';
     print $files[-1];
     untie @files;

DESCRIPTION
    This module ties files (and directories) of a mount point to an array by
    invoking the system commands "mount" and "umount"; "mount" is invoked
    when a former attempt to tie an array is being committed, "umount" when
    a tied array is to be untied. Suitability is therefore limited and
    suggests a rarely used node (such as /backup, for example).

    The mandatory parameter consists of the node (or: *mount point*) to be
    mounted (/backup - as declared in /etc/fstab); options to "mount" may be
    subsequently passed ("-v"). Device names and mount options ("-a,-A,-d")
    will be discarded for safety's sake.

    Default paths to "mount" and "umount" may be overriden by setting
    accordingly either $Tie::Mounted::MOUNT_BIN or
    $Tie::Mounted::UMOUNT_BIN. If one of them does not exist at the
    predefined path, a "which()" will be performed to determine the actual
    path.

    If $Tie::Mounted::NO_FILES is set to a true value, a bogus array with
    zero files will be tied.

BUGS & CAVEATS
  Security
    There are no security restrictions; it is recommended to adjust
    filesystem permissions to prevent malicious use.

  Portability
    "Tie::Mounted" is Linux/UNIX centered (due to the fstab file and the
    "(u)mount" binary requirement) and will most likely not work on other
    platforms.

  Miscellanea
    The tied array is read-only.

    Files within the tied array are statically tied.

  Lacking tests
    Tests that test the base functionality are completely missing due to an
    environment that most likely cannot be adequately simulated.

SEE ALSO
    "tie" in perlfunc, fstab(5), mount(8), umount(8)

AUTHOR
    Steven Schubiger <schubiger@cpan.org>

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

    See <http://dev.perl.org/licenses/>

