The following module was proposed for inclusion in the Module List:

  modid:       Regexp::Log
  DSLIP:       bdpOp
  description: A base class for log files regexp builders
  userid:      BOOK (Philippe "BooK" Bruhat)
  chapterid:   11 (String_Lang_Text_Proc)
  communities:
    mailing list, CVS, web site (http://regexp-log.mongueurs.net/)

  similar:

  rationale:

    Regexp::Log is a base class for a variety of modules that generate
    regular expressions for performing the usual data munging tasks on
    log files that cannot be simply split().

    The goal of this module family is to compute regular expressions
    based on the configuration string of the log.

    Here is an example of code using Regexp::Log:

    my $foo = Regexp::Log::Foo->new( format => 'custom %g %e %a %w/%s
    %b %m %i %u %H/%d %c', capture => [qw( host code username )], );

    # this is necessary to know in which order # we will receive the
    captured fields from the regexp my @fields = $foo->capture;

    # the all-powerful capturing regexp :-) my $re = $foo->regexp;

    while (<>) { my %data; @data{@fields} = /$re/; # no need for /o,
    it's a compiled regexp

    # now do something with the content of %data ... }

    For the moment, there is only one subclass: Regexp::Log::BlueCoat,
    that compute regexp for the BlueCoat system (www.blueCoat.com).

    Regexp::Log::Apache should be next.

    Regexp::Log::* modules use the configuration format string as a
    template, and do a search and replace operation to remove each field
    placeholder by the appropriate regular expression. The interesting
    method is the capture() method that lets you capture any field (or
    sub-field) you want, by name.

    As for the namespace, Regexp:: seems the more appropriate, since
    the point of the module is to create compiled regular expressions.

  enteredby:   BOOK (Philippe "BooK" Bruhat)
  enteredon:   Mon Jan 13 15:11:34 2003 GMT

The resulting entry would be:

Regexp::
::Log             bdpOp A base class for log files regexp builders   BOOK


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=69100000_da3cdd7c0bb3700e&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=69100000_da3cdd7c0bb3700e&SUBMIT_pause99_add_mod_insertit=1

Reply via email to