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.
SYNOPSYS¶
my ($language, $territory, $charset, $modifier)
= parse_locale 'nl_BE.utf-8@home';
my @take = expand_reasons 'INFO-ERROR,PANIC';
SEE ALSO¶
This module is part of Log-Report distribution version 0.94, built on August 23,
2011. Website:
http://perl.overmeer.net/log-report/
LICENSE¶
Copyrights 2007-2011 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