NAME
Log::Report::Util - helpful routines to Log::Report
INHERITANCE
Log::Report::Util
is a Exporter
DESCRIPTION
This module collects a few functions and definitions which are shared between different components in the Log::Report infrastructure.
FUNCTIONS
escape_chars(STRING)
Replace all escape characters into their readable counterpart. For instance, a new-line is replaced by backslash-n.
expand_reasons(REASONS)
Returns a sub-set of all existing message reason labels, based on the content REASONS string. The following rules apply: REASONS = BLOCK [ ',' BLOCKS] BLOCK = '-' TO | FROM '-' TO | ONE | SOURCE FROM,TO,ONE = 'TRACE' | 'ASSERT' | ,,, | 'PANIC' SOURCE = 'USER' | 'PROGRAM' | 'SYSTEM' | 'ALL'
The SOURCE specification group all reasons which are usually related to the problem: report about problems caused by the user, reported by the program, or with system interaction.
example: of expended REASONS
WARNING-FAULT # == WARNING,MISTAKE,ERROR,FAULT
-INFO # == TRACE-INFO
ALERT- # == ALERT,FAILURE,PANIC
USER # == MISTAKE,ERROR
ALL # == TRACE-PANIC
parse_locale(STRING)
Decompose a locale string.
For simplicity of the caller's code, the capatization of the returned fields is standardized to the preferred, although the match is case- insensitive as required by the RFC. The territory in returned in capitals (ISO3166), the language is lower-case (ISO639), the script as upper-case first, the character-set as lower-case, and the modifier and variant unchanged.
In LIST context, four elements are returned: language, territory, character-set (codeset), and modifier. Those four are important for the usual unix translationg infrastructure. Only the "country" is obligatory, the others can be undef
. It may also return C
and POSIX
.
In SCALAR context, a HASH is returned which can contain more information: language, script, territory, variant, codeset, and modifiers. The variant (RFC3066 is probably never used)
unescape_chars(STRING)
Replace all backslash-something escapes by their escape character. For instance, backslash-t is replaced by a tab character.
SEE ALSO
This module is part of Log-Report distribution version 0.23, built on April 24, 2009. Website: http://perl.overmeer.net/log-report/
LICENSE
Copyrights 2007-2009 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html