The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::Printer::Config - Load run-control (.dataprinter) files for Data::Printer

DESCRIPTION

This module is used internally to load .dataprinter files.

THE RC FILE

# line comments are ok with "#" or ";"
; this is also a full line comment.
; Comments at the end of a line (inline) are not allowed
multiline  = 0
hash_max   = 5
array_max  = 5
string_max = 50
# use quotes if you need spaces to be significant:
hash_separator = " => "
class.show_methods = none
class.internals    = 0
filters = DB, Web

# if you tag a class, those settings will override your basic ones
# whenever you call p() inside that class.
[MyApp::Some::Class]
multiline = 1
show_tainted: 1
class.format_inheritance = lines
filters = MyAwesomeDebugFilter

[Other::Class]
theme = Monokai

; use "begin filter NAME" and "end filter" to add custom filter code.
; it will expose $obj (the data structure to be parsed) and $ddp
; (data printer's object). YOU MAY ONLY DO THIS IF YOUR FILE IS ONLY
; READABLE AND WRITEABLE BY THE USER (i.e. chmod 0600).
begin filter HTTP::Request
    return $ddp->maybe_colorize($obj->method . ' ' . $obj->uri, 'string')
         . $obj->decoded_content;
end filter

PUBLIC INTERFACE

This module is not meant for public use. However, because Data::Printer changed the format of the configuration file, we provide the following public function for people to use:

convert( $filename )

perl -MDDP -E 'say Data::Printer::Config::convert( q(/path/to/my/.dataprinter) )'

Loads a deprecated (pre-1.0) configuration file and returns a string with a (hopefully) converted version, which you can use for newer (post-1.0) versions.

Other public functions, not really meant for general consumption, are:

  • load_rc_file( $filename ) - loads a configuration file and returns the associated data structure. If no filename is provided, looks for .dataprinter.

SEE ALSO

Data::Printer