NAME SHARYANTO::String::Util - String utilities DESCRIPTION FUNCTIONS ltrim($str) => STR Trim whitespaces (including newlines) at the beginning of string. Equivalent to: $str =~ s/\A\s+//s; ltrim_lines($str) => STR Trim whitespaces (not including newlines) at the beginning of each line of string. Equivalent to: $str =~ s/^\s+//mg; rtrim($str) => STR Trim whitespaces (including newlines) at the end of string. Equivalent to: $str =~ s/[ \t]+\z//s; rtrim_lines($str) => STR Trim whitespaces (not including newlines) at the end of each line of string. Equivalent to: $str =~ s/[ \t]+$//mg; trim($str) => STR ltrim + rtrim. trim_lines($str) => STR ltrim_lines + rtrim_lines. trim_blank_lines($str) => STR Trim blank lines at the beginning and the end. Won't trim blank lines in the middle. Blank lines include lines with only whitespaces in them. ellipsis($str[, $maxlen, $ellipsis]) => STR Return $str unmodified if $str's length is less than $maxlen (default 80). Otherwise cut $str to ($maxlen - length($ellipsis)) and append $ellipsis (default '...') at the end. indent($indent, $str, \%opts) => STR Indent every line in $str with $indent. Example: indent(' ', "one\ntwo\nthree") # " one\n two\n three" %opts is optional. Known options: * indent_blank_lines => BOOL (default 1) If set to false, does not indent blank lines (i.e., lines containing only zero or more whitespaces). linenum($str, \%opts) => STR Add line numbers. For example: 1|line1 2|line2 | 4|line4 Known options: * width => INT (default: 4) * zeropad => BOOL (default: 0) If turned on, will output something like: 0001|line1 0002|line2 | 0004|line4 * skip_empty => BOOL (default: 1) If set to false, keep printing line number even if line is empty: 1|line1 2|line2 3| 4|line4 pad($text, $width[, $which[, $padchar[, $truncate]]]) => STR Return $text padded with $padchar to $width columns. $which is either "r" or "right" for padding on the right (the default if not specified), "l" or "left" for padding on the right, or "c" or "center" or "centre" for left+right padding to center the text. $padchar is whitespace if not specified. It should be string having the width of 1 column. qqquote($str) => STR Quote or encode $str to the Perl double quote ("qq") literal representation of the string. Example: say qqquote("a"); # => "a" say qqquote("a\n"); # => "a\n" say qqquote('"'); # => "\"" say qqquote('$foo'); # => "\$foo" This code is taken from "quote()" in Data::Dump. Maybe I didn't look more closely, but I couldn't a module that provides a function to do something like this. String::Escape, for example, provides "qqbackslash" but it does not escape "$". None are exported by default, but they are exportable. SEE ALSO SHARYANTO HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at HASH(0x353ed90). BUGS Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=SHARYANTO-String-Util When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.