No::Worries::String - string handling without worries
use No::Worries::String qw(*);
# format a number of bytes
printf("%s has %s\n", $path, string_bytefmt(-s $path));
# escape a string
printf("found %s\n", string_escape($data));
# produce a nice output (e.g "1 file" or "3 files")
printf("found %s\n", string_quantify($count, "file"));
# format a table
print(string_table([
[1, 1, 1],
[2, 4, 8],
[3, 9, 27],
], header => [qw(x x^2 x^3)]));
# trim a string
$string = string_trim($input);
This module eases string handling by providing convenient string manipulation
functions.
This module provides the following functions (none of them being exported by
default):
- string_bytefmt(NUMBER[, PRECISION])
- return the given NUMBER formatted as a number of bytes with a suffix such
as "kB" or
"GB"; the default precision (i.e. number
of digits after the decimal dot) is 2
- string_escape(STRING)
- return a new string with all potentially non-printable characters escaped;
this includes ASCII control characters, non-7bit ASCII and Unicode
characters
- string_plural(STRING)
- assuming that STRING is an English noun, returns its plural form
- string_quantify(NUMBER, STRING)
- assuming that STRING is an English noun, returns a string saying how much
of it there is; e.g. "string_quantify(2,
"foot")" is "2
feet"
- string_table(TABLE[, OPTIONS])
- transform the given table (a reference to an array of arrays of strings)
into a formatted multi-line string; supported options:
- "align": array reference of alignment
directions (default: "left"); possible values are
"left", "center" and "right"
- "colsep": column separator string
(default: " | ")
- "header": array reference of column
headers (default: none)
- "headsep": header separator (default:
"=" or "-" for MarkDown)
- "indent": string to prepend to each line
(default: "")
- "markdown": return a MarkDown compatible
table
- string_trim(STRING)
- return a new string with leading and trailing spaces removed
Lionel Cons <http://cern.ch/lionel.cons>
Copyright (C) CERN 2012-2019