This Perl module is a emulation of Spreadsheet::ParseExcel for Excel 2007
(.xlsx) file format. It supports styles and many of Excel's quirks, but not
all. It populates the classes from Spreadsheet::ParseExcel for
interoperability; including Workbook, Worksheet, and Cell.
String::Flogger::flog() args are mostly just like sprintf arguments, but
non-strings (like references, objects, and undef) are converted to JSON,
and we can defer evaluation of bits of the message so that it won't be
evaluated unless needed.
This module functions identically to its superclass HTML::Fraction, but
rather than converting fractions into HTML entities they are replaced by
the unicode characters for those fractions.
The String::Koremutake module converts to and from Koremutake Memorable
Random Strings.
The term "Memorable Random String" was thought up by Sean B. Palmer as a
name for those strings like dopynl, glargen, glonknic, spoopwiddle, and
kebble etc. that don't have any conventional sense, but can be used as
random identifiers, especially in URIs to keep them persistent. See
http://infomesh.net/2001/07/MeRS/
Koremutake is a MeRS algorithm which is used by Shorl
(http://shorl.com/koremutake.php). As they explain: "It is, in plain
language, a way to express any large number as a sequence of syllables.
The general idea is that word-sounding pieces of information are a lot
easier to remember than a sequence of digits."
String::Print inserts values into (translated) strings. It provides printf and
sprintf alternatives via both an object oriented and a functional interface.
String::RewritePrefix - rewrite strings based on a set of known prefixes.
Perl sscanf() can be used very much like the C stdio sscanf(), for detailed
sscanf() documentation please refer to your usual documentation resources.
The supported formats are: [diuoxefgsc] and the character class [].
Seamus Venasse <svenasse@polaris.ca>
Writing systems for different languages usually have specific sort
orders for the glyphs (characters, or clusters of characters) that each
writing system uses. For well-known national languages, these different
sort orders (or someone's idea of them) are formalized in the locale for
each such language, on operating system flavors that support locales.
However, there are problems with locales; cf. the perllocale manpage.
This module is meant to provide an alternative to locale-based sorting.
-Anton
<tobez@FreeBSD.org>
Sort::Fields provides a general purpose technique for efficiently
sorting lists of lines that contain data separated into fields.
-Anton
<tobez@FreeBSD.org>
This module exports two functions, nsort and ncmp; they are used in implementing
my idea of a "natural sorting" algorithm. Under natural sorting, numeric
substrings are compared numerically, and other word-characters are compared
lexically.
This is the way I define natural sorting:
* Non-numeric word-character substrings are sorted lexically,
case-insensitively: "Foo" comes between "fish" and "fowl".
* Numeric substrings are sorted numerically: "100" comes after "20",
not before.
* \W substrings (neither words-characters nor digits) are ignored. Our use
* of \w, \d, \D, and \W is locale-sensitive: Sort::Naturally
uses a use locale statement.
* When comparing two strings, where a numeric substring in one place
is not up against a numeric substring in another, the non-numeric always comes
first. This is fudged by reading pretending that the lack of a number substring
has the value -1, like so:
* The start of a string is exceptional: leading non-\W (non-word,
non-digit) components are ignored, and numbers come before letters.
* I define "numeric substring" just as sequences matching m/\d+/ --
scientific notation, commas, decimals, etc., are not seen. If your data has
thousands separators in numbers ("20,000 Leagues Under The Sea" or "20.000
lieues sous les mers"), consider stripping them before feeding them to nsort or
ncmp.