Mark Overmeer > Log-Report-Optional-1.01 > Log::Report::Util

Download:
Log-Report-Optional-1.01.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.01   Source  

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. They should not be needed for end-user applications, although this man-page may contain some useful background information.

FUNCTIONS ^

Reasons

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
is_fatal($reason)

Returns true if the $reason is severe enough to cause an exception (or program termination).

is_reason($name)

Returns true if the STRING is one of the predefined REASONS.

use_errno($reason)

Modes

Run-modes are explained in Log::Report::Dispatcher.

mode_accepts($mode)

Returns something acceptable by expand_reasons()

mode_number($name|$mode)

Returns the $mode as number.

must_show_location($mode, $reason)
must_show_stack($mode, $reason)

Other

escape_chars(STRING)

Replace all escape characters into their readable counterpart. For instance, a new-line is replaced by backslash-n.

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)

pkg2domain( $package, [$domain, $filename, $line] )

With $domain, $filename and $line, this registers a location where the textdomain is specified. Each $package can only belong to one $domain.

Without these parameters, the registered domain for the $package is returned.

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-Optional distribution version 1.01, built on March 10, 2014. Website: http://perl.overmeer.net/log-report/

LICENSE ^

Copyrights 2013-2014 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

syntax highlighting: