NAME¶
"LaTeXML::Util::Pathname" - portable pathname and file-system
utilities
DESCRIPTION¶
This module combines the functionality File::Spec and File::Basename to give a
consistent set of filename utilties for LaTeXML. A pathname is represented by
a simple string.
Pathname Manipulations¶
- "$path = pathname_make(%peices);"
- Constructs a pathname from the keywords in pieces
dir : directory
name : the filename (possibly with extension)
type : the filename extension
- "($dir,$name,$type) = pathname_split($path);"
- Splits the pathname $path into the components: directory, name and
type.
- "$path = pathname_canonical($path);"
- Canonicallizes the pathname $path by simplifying repeated slashes, dots
representing the current or parent directory, etc.
- "$dir = pathname_directory($path);"
- Returns the directory component of the pathname $path.
- "$name = pathname_name($path);"
- Returns the name component of the pathname $path.
- "$type = pathname_type($path);"
- Returns the type component of the pathname $path.
- "$path = pathname_concat($dir,$file);"
- Returns the pathname resulting from concatenating the directory $dir and
filename $file.
- "$boole = pathname_is_absolute($path);"
- Returns whether the pathname $path appears to be an absolute
pathname.
- "$boole = pathname_is_url($path);"
- Returns whether the pathname $path appears to be a url, rather than local
file.
- "$rel = pathname_is_contained($path,$base);"
- Checks whether $path is underneath the directory $base; if so it returns
the pathname $path relative to $base; otherwise returns undef.
- "$path = pathname_relative($path,$base);"
- If $path is an absolute, non-URL pathname, returns the pathname relative
to the directory $base, otherwise simply returns the canonical form of
$path.
- "$path = pathname_absolute($path,$base);"
- Returns the absolute pathname resulting from interpretting $path relative
to the directory $base. If $path is already absolute, it is returned
unchanged.
File System Operations¶
- "$modtime = pathname_timestamp($path);"
- Returns the modification time of the file named by $path, or undef if the
file does not exist.
- "$path = pathname_cwd();"
- Returns the current working directory.
- "$dir = pathname_mkdir($dir);"
- Creates the directory $dir and all missing ancestors. It returns $dir if
successful, else undef.
- "$dest = pathname_copy($source,$dest);"
- Copies the file $source to $dest if needed; ie. if $dest is missing or
older than $source. It preserves the timestamp of $source.
- "$path = pathname_find($name,%options);"
- Finds the first file named $name that exists and that matches the
specification in the keywords %options. An absolute pathname is returned.
If $name is not already an absolute pathname, then the option
"paths" determines directories to recursively search. It should
be a list of pathnames, any relative paths are interpreted relative to the
current directory. If "paths" is omitted, then the current
directory is searched.
If the option "installation_subdir" is given, it indicates, in
addition to the above, a directory relative to the LaTeXML installation
directory to search. This allows files included with the distribution to
be found.
The "types" option specifies a list of filetypes to search for. If
not supplied, then the filename must match exactly. The type "*"
matches any extension.
- "@paths = pathname_findall($name,%options);"
- Like "pathname_find", but returns all matching (absolute)
paths that exist.
AUTHOR¶
Bruce Miller <bruce.miller@nist.gov>
COPYRIGHT¶
Public domain software, produced as part of work done by the United States
Government & not subject to copyright in the US.