NAME
Sah::Schemas::Path - Schemas related to filesystem path
VERSION
This document describes version 0.016 of Sah::Schemas::Path (from Perl
distribution Sah-Schemas-Path), released on 2021-07-17.
SAH SCHEMAS
* dirname
Filesystem directory name.
This schema is basically string with some checks and prefilters. Why
use this schema instead of plain ol' str? Mainly to give you the
ability to change tilde to user's home directory, e.g. "~/foo" into
"/home/someuser/foo". Normally this expansion is done by a Unix
shell, but sometimes your program receives an unexpanded path, e.g.
when you get it from some config file.
See also more OS-specific schemas like "dirname::unix", which adds
some more checks (e.g. filename cannot contain forward slash and
each component cannot be longer than 255 characters) and
preprocessing (e.g. stripping extraneous slashes like "foo//bar"
into "foo/bar".
What's the difference between this schema and "filename"? The
default completion rule. This schema's completion by default only
includes directories.
* filename
Filesystem file name.
This schema is basically string with some checks and prefilters. Why
use this schema instead of plain ol' str? Mainly to give you the
ability to change tilde to user's home directory, e.g. "~/foo.txt"
into "/home/someuser/foo.txt". Normally this expansion is done by a
Unix shell, but sometimes your program receives an unexpanded path,
e.g. when you get it from some config file.
See also more OS-specific schemas like "filename::unix", which adds
some more checks (e.g. filename cannot contain forward slash and
each component cannot be longer than 255 characters) and
preprocessing (e.g. stripping extraneous slashes like "foo//bar"
into "foo/bar".
What's the difference between this schema and "dirname"? The default
completion rule. This schema's completion by default only includes
files and not directories.
* pathname
Filesystem path name.
This schema is basically string with some checks and prefilters. Why
use this schema instead of plain ol' str? Mainly to give you the
ability to change tilde to user's home directory, e.g. "~/foo" into
"/home/someuser/foo". Normally this expansion is done by a Unix
shell, but sometimes your program receives an unexpanded path, e.g.
when you get it from some config file.
See also more OS-specific schemas like "pathname::unix", which adds
some more checks (e.g. pathname cannot contain forward slash and
each component cannot be longer than 255 characters) and
preprocessing (e.g. stripping extraneous slashes like "foo//bar"
into "foo/bar".
What's the difference between this schema and "filename" and
"dirname"? The default completion rule. This schema's completion by
default includes files as well as directories.
* pathnames
List of filesystem path names.
Coerces from string by expanding the glob pattern in the string.
HOMEPAGE
Please visit the project's homepage at
<https://metacpan.org/release/Sah-Schemas-Path>.
SOURCE
Source repository is at
<https://github.com/perlancar/perl-Sah-Schemas-Path>.
BUGS
Please report any bugs or feature requests on the bugtracker website
<https://rt.cpan.org/Public/Dist/Display.html?Name=Sah-Schemas-Path>
When submitting a bug or request, please include a test-file or a patch
to an existing test-file that illustrates the bug or desired feature.
SEE ALSO
Sah - specification
Data::Sah
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021, 2020, 2019, 2018, 2016 by
perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.