Convert a string into a directory name
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');
\*(C`String::Dirify\*(C' is a pure Perl module.
This module allows you to convert a string (possibly containing high \s-1ASCII\s0 characters, and even \s-1HTML\s0) 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. 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.
For more details about this character, see the discussion of the dirify() method (above).
See http://openmelody.org for details.
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 \*(C`String::Dirify\*(C', but is discouraged. Instead, simply drop the second parameter and let the code default to '_'.
This module is available as a Unix-style distro (*.tgz).
See http://savage.net.au/Perl-modules.html for details.
\*(C`String::Dirify\*(C' 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 <[email protected]> in 2009.
Home page: http://savage.net.au/index.html
Copyright (c) 2009, Mark Stosberg, Ron Savage.
Copyright (c) 2010, 2011, Ron Savage.