Tie::Mounted - Tie a mounted node to an array
use Tie::Mounted; tie @files, 'Tie::Mounted', '/backup', '-v'; print $files[-1]; untie @files;
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).
mount
umount
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.
-v
-a,-A,-d
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.
$Tie::Mounted::MOUNT_BIN
$Tie::Mounted::UMOUNT_BIN
which()
If $Tie::Mounted::NO_FILES is set to a true value, a bogus array with zero files will be tied.
$Tie::Mounted::NO_FILES
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.
Tie::Mounted
$APPROVE
@NODES
_private()
Such ``security" is rather trivial; instead it is recommended to adjust filesystem permissions to prevent malicious use.
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.
mount/umount
The tied array is read-only.
Files within the tied array are statically tied.
Tests that test the base functionality are completely missing due to an environment that most likely can't be adequately simulated.
"tie" in perlfunc, fstab(5), mount(8), umount(8)
Steven Schubiger <schubiger@cpan.org>
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
To install Tie::Mounted, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tie::Mounted
CPAN shell
perl -MCPAN -e shell install Tie::Mounted
For more information on module installation, please visit the detailed CPAN module installation guide.