NAME "String::Dirify" - Convert a string into a directory name 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'); 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. 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. 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). Melody 'v' Movable Type See http://openmelody.org for details. Backwards Compatibility with Movable Type Unfortunately, Movable Type's usage of 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 '_'. Distributions This module is available as a Unix-style distro (*.tgz). See http://savage.net.au/Perl-modules.html for details. Authors "String::Dirify" started out as part of Movable Type's code. Then, Mark Stosberg cut down the original code to provide just the English/ISO/ASCII features. Lastly, the code was cleaned up, tests added, and all packaged, by Ron Savage ** in 2009. Home page: http://savage.net.au/index.html