String::Dirify - Convert a string into a directory name
Contents
Algorithm
1: Each high ASCII character is replaced by its normal equivalent
2: The string is converted to lower case
3: Any HTML (including HTML entities) in the string is removed
4: Any characters which are not (Perl) words, spaces or hyphens, are removed
5: Runs of spaces are converted to the separator character
For more details about this character, see the discussion of the dirify() method (above).
Backwards Compatibility With Movable Type
Unfortunately, the way Movable Type uses dirify() allows a fake separator - '1' - to be used for the
second parameter in the call to dirify().
The '1' triggered usage of '_' as the separator, rather than the '1' provided.
This 'feature' has been preserved in "String::Dirify", but is discouraged. Instead, simply drop the
second parameter and let the code default to '_'.
Copyright
Copyright (c) 2009, Mark Stosberg, Ron Savage.
Copyright (c) 2010, 2011, Ron Savage.
perl v5.36.0 2022-10-13 String::Dirify(3pm)
Description
"String::Dirify" is a pure Perl module.
This module allows you to convert a string (possibly containing high ASCII characters, and even HTML)
into another, lower-cased, string which can be used as a directory name.
For usage, see the Synopsis.
This code is derived from similar code in Movable Type.
Distributions
This module is available as a Unix-style distro (*.tgz).
See http://savage.net.au/Perl-modules.html for details.
Melody 'V' Movable Type
See http://openmelody.org for details.
Method: Dirify($String [, $Separator])
Returns a string, which can be used as a directory name.
The default separator is '_'.
Each run of spaces in the string is replaced by this separator.
Name
String::Dirify - Convert a string into a directory name
Repository
<https://github.com/ronsavage/String-Dirify>
Synopsis
use String::Dirify;
my($dir_1) = String::Dirify -> dirify('frobnitz');
Or:
use String::Dirify ':all';
my($dir_2) = dirify('bar baz');
Or even:
use String::Dirify;
my($sd) = String::Dirify -> new();
my($dir_3) = $sd -> dirify('!Q@W#E$R%T^Y');
