File::Find is great, but constructing the wanted routine can sometimes
be a pain. This module provides a wanted-writer, using syntax that
is directly mappable to the find command's syntax.
File::Flat implements a flat filesystem. A flat filesystem is a
filesystem in which directories do not exist. It provides an
abstraction over any normal filesystem which makes it appear as if
directories do not exist. In effect, it will automatically create
directories as needed. This is create for things like install scripts
and such, as you never need to worry about the existence of directories,
just write to a file, no matter where it is.
File::Flock is a wrapper around the flock() call. The only thing it
does that is special is that it creates the lock file if the lock file
does not already exist.
It will also try to remove the lock file. This makes it a bit
complicated.
Perl's chdir() has the unfortunate problem of being very, very, very
global. If any part of your program calls chdir() or if any library you
use calls chdir(), it changes the current working directory for the
whole program.
File::chdir gives you an alternative, $CWD and @CWD. These two
variables combine all the power of chdir(), File::Spec and Cwd.
File::chmod is a utility that allows you to bypass system calls
or bit processing of a file's permissions. It overloads the
chmod() function with its own that gets an octal mode, a
symbolic mode, or an "ls" mode. If you wish not to overload chmod(),
you can export symchmod() and lschmod(), which take, respectively,
a symbolic mode and an "ls" mode.
File::pushd does a temporary chdir that is easily and automatically
reverted. It works by creating a simple object that caches the original
working directory. When the object is destroyed, the destructor calls
chdir to revert to the original working directory. By storing the
object in a lexical variable with a limited scope, this happens
automatically at the end of the scope.
Use this module to check whether a filehandle is readable, writable, or
readable/writable.
File::FnMatch::fnmatch() provides simple, shell-like pattern matching.
Though considerably less powerful than regular expressions, shell patterns
are nonetheless useful and familiar to a large audience of end-users.
The File::Grep module is designed for find matches to a pattern in
a series of files and related functions.
File::HomeDir -- get home directory for self or other users
This module provides a function, home, and also ties the in-all-packages
variable %~.