5 petits modules

Sébastien Aperghis-Tramoni, sebastien@aperghis.net

Config::Extend::MySQL

  • 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" });

DBIx::Connect::FromConfig

  • 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

DBIx::Connect::FromConfig

  • 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::Filter::TT2

  • HTML::Template simple, Template Toolkit complexe

  • mais syntaxe de HTML::Template assez laide

    • <TMPL_VAR clank>, <TMPL_LOOP items>

HTML::Template::Filter::TT2

  • filtre pour utiliser une syntaxe inspirée de TT2

    • [% variable %]

    • [% variable :default |filter %]

    • [% if condition %] ... [% else %] ... [end_if %]

    • [% loop loop-name %] ... [% end_loop %]

SNMP::Extension::PassPersist

  • 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);
        }

PerlIO::via::escape_ansi

  • 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

Disponibles