| PackageDescription | File::pushd does a temporary 'chdir' that is easily and automatically
reverted, similar to 'pushd' in some Unix command shells. It works by
creating an 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.
This is very handy when working with temporary directories for tasks like
testing; a function is provided to streamline getting a temporary directory
from File::Temp.
For convenience, the object stringifies as the canonical form of the
absolute pathname of the directory entered.
*Warning*: if you create multiple 'pushd' objects in the same lexical
scope, their destruction order is not guaranteed and you might not wind up
in the directory you expect. |