Data-Tubes

 view release on metacpan or  search on metacpan

script/tubergen  view on Meta::CPAN

 
    for my $name (qw( FATAL ERROR WARN INFO DEBUG TRACE )) {
 
       # create the ->level methods
       *{__PACKAGE__ . '::' . lc($name)} = sub {
          my $self = shift;
          return $self->log($$name, @_);
       };
 
       # create ->is_level and ->isLevelEnabled methods as well
       *{__PACKAGE__ . '::is' . ucfirst(lc($name)) . 'Enabled'} =
         *{__PACKAGE__ . '::is_' . lc($name)} = sub {
          return 0 if $_[0]->{level} == $DEAD || $$name > $_[0]->{level};
          return 1;
         };
    } ## end for my $name (qw( FATAL ERROR WARN INFO DEBUG TRACE ))
 
    for my $name (
       qw(
       FATAL ERROR WARN INFO DEBUG TRACE
       LOGWARN LOGDIE LOGEXIT
       LOGCARP LOGCLUCK LOGCROAK LOGCONFESS
       )
      )
    {
       *{__PACKAGE__ . '::' . $name} = sub {
          $_instance->can(lc $name)->($_instance, @_);
       };
    } ## end for my $name (qw( FATAL ERROR WARN INFO DEBUG TRACE...))
 
    for my $accessor (qw( fh logexit_code )) {
       *{__PACKAGE__ . '::' . $accessor} = sub {
          my $self = shift;
          $self = $_instance unless ref $self;
          $self->{$accessor} = shift if @_;
          return $self->{$accessor};
       };
    } ## end for my $accessor (qw( fh logexit_code ))
 
    my $index = -1;
    for my $name (qw( DEAD OFF FATAL ERROR WARN INFO DEBUG TRACE )) {
       $name_of{$$name = $index} = $name;
       $id_for{$name}  = $index;
       $id_for{$index} = $index;
       ++$index;
    } ## end for my $name (qw( DEAD OFF FATAL ERROR WARN INFO DEBUG TRACE ))
 
    get_logger();    # initialises $_instance;
 } ## end BEGIN
 
 1;                  # Magic true value required at end of module

END_OF_FILE


# __MOBUNDLE_FILE__

      'Mo.pm' => <<'END_OF_FILE',
 package Mo;
 $VERSION=0.39;
 no warnings;my$M=__PACKAGE__.'::';*{$M.Object::new}=sub{my$c=shift;my$s=bless{@_},$c;my%n=%{$c.::.':E'};map{$s->{$_}=$n{$_}->()if!exists$s->{$_}}keys%n;$s};*{$M.import}=sub{import warnings;$^H|=1538;my($P,%e,%o)=caller.'::';shift;eval"no Mo::$_",&{$...

END_OF_FILE


# __MOBUNDLE_FILE__

      'Mo/default.pm' => <<'END_OF_FILE',
 package Mo::default;my$M="Mo::";
 $VERSION=0.39;
 *{$M.'default::e'}=sub{my($P,$e,$o)=@_;$o->{default}=sub{my($m,$n,%a)=@_;exists$a{default}or return$m;my($d,$r)=$a{default};my$g='HASH'eq($r=ref$d)?sub{+{%$d}}:'ARRAY'eq$r?sub{[@$d]}:'CODE'eq$r?$d:sub{$d};my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i ...

END_OF_FILE


# __MOBUNDLE_FILE__

      'Template/Perlish.pm' => <<'END_OF_FILE',
 package Template::Perlish;
 
 # vim: ts=3 sts=3 sw=3 et ai :
 
 use 5.008_000;
 use warnings;
 use strict;
 use Carp;
 use English qw( -no_match_vars );
 use constant ERROR_CONTEXT => 3;
 { our $VERSION = '1.56'; }
 use Scalar::Util qw< blessed reftype >;
 
 # Function-oriented interface
 sub import {
    my ($package, @list) = @_;
 
    for my $sub (@list) {
       croak "subroutine '$sub' not exportable"
         unless grep { $sub eq $_ } qw< crumble render traverse >;
 
       my $caller = caller();
 
       no strict 'refs';    ## no critic (ProhibitNoStrict)
       local $SIG{__WARN__} = \&Carp::carp;
       *{$caller . q<::> . $sub} = \&{$package . q<::> . $sub};
    } ## end for my $sub (@list)
 
    return;
 } ## end sub import
 
 sub render {
    my ($template, @rest) = @_;
    my ($variables, %params);
    if (@rest) {
       $variables = ref($rest[0]) ? shift(@rest) : {splice @rest, 0};
       %params = %{shift @rest} if @rest;
    }
    return __PACKAGE__->new(%params)->process($template, $variables);
 } ## end sub render
 
 # Object-oriented interface
 {



( run in 1.082 second using v1.01-cache-2.11-cpan-97f6503c9c8 )