lecture des fichiers de configuration MySQL
support des inclusions (!include
, !includedir
)
étend d'autres modules Config
Config::IniFiles
, Config::Tiny
, Config::INI::Reader
use Config::Extend::MySQL; my $config = Config::Extend::MySQL->new({ from => $file, using => "Config::IniFiles" });
interface homogène
fichier de configuration
Config::IniFiles
, Config::Simple
, Config::Tiny
use DBI; use DBIx::Connect::FromConfig -in_dbi; my $config = Config::IniFiles->new(-file => "/etc/myapp.conf"); my $dbh = DBI->connect_from_config(config => $config); # do DBI stuff
accepte aussi un hashref
my %settings = ( driver => 'Pg', host => 'myapp.society.com', database => 'myapp', username => 'appuser', password => 'sekr3t', ); my $dbh = DBI->connect_from_config(config => \%settings);
HTML::Template
simple, Template Toolkit complexe
mais syntaxe de HTML::Template
assez laide
<TMPL_VAR clank>
, <TMPL_LOOP items>
filtre pour utiliser une syntaxe inspirée de TT2
[% variable %]
[% variable :default |filter %]
[% if condition %] ... [% else %] ... [end_if %]
[% loop loop-name %] ... [% end_loop %]
module générique pour écrire une extension pass
ou pass_persist
pour Net-SNMP
my $extsnmp = SNMP::Extension::PassPersist->new( backend_collect => \&update_tree ); $extsnmp->run; sub update_tree { my ($self) = @_; # add a serie of OID entries $self->add_oid_entry($oid, $type, $value); # or directly add a whole OID tree $self->add_oid_tree(\%oid_tree); }
couche PerlIO pour protéger les séquences ANSI
\e[1m
=> <ESC>[1m
\e]0;OH HAI\a
=> <ESC>]0;OH HAI<BEL>
\a\e[2J\e[2;5m\e[1;31mI CAN HAS UR PWNY\n\e[2;25m\e[22;30m\e[3q
=> <BEL><ESC>[2ESC[2;5m<ESC>[1;31mI CAN HAS UR PWNLF<ESC>[2;25m<ESC>[22;30m<ESC>[3q
expérimental, pas encore finalisé
sera intégré à Sys::Syslog