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); optional options to
   "mount" may be subsequently passed ("-v"). Device names and mount
   options ("-a,-A,-d") will be discarded in regard of system security.

   Default paths to "mount" and "umount" may be overriden by setting
   accordingly either $Tie::Mounted::MOUNT_BIN or
   $Tie::Mounted::UMOUNT_BIN. If either of them doesn't 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
   "Tie::Mounted" has by default set $APPROVE to an untrue value in order
   to allow all nodes to be passed. If $APPROVE is set to a true value,
   @NODES has to contain the nodes that are considered ``approved"; both
   variables are lexically scoped and adjustable within "_private()". If in
   approval mode and a node is passed that is considered unapproved,
   "Tie::Mounted" will throw an exception.

   Such ``security" is rather trivial; instead it is recommended to adjust
   filesystem permissions to prevent malicious use.

 Portability
   "Tie::Mounted" is Linux/UNIX centered (due to the fstab file & the
   "mount/umount" binaries requirements) and will most likely won't 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 can't be adequately simulated.

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

AUTHOR
   Steven Schubiger <[email protected]>

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

   See <http://www.perl.com/perl/misc/Artistic.html>