§ 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.
- $path = pathname_relative($path,$base);
-
Returns the path to file $path relative to the directory $base.
- $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.
- @paths = pathname_findall($name,%options);
-
This performs the same operation as pathname_find, but returns all matching paths that exist.