Acme-ChuckNorris

 view release on metacpan or  search on metacpan

lib/Acme/ChuckNorris.pm  view on Meta::CPAN

package Acme::ChuckNorris;

use strict;
use warnings;

$Acme::ChuckNorris::VERSION = '0.3';

sub import {
    no strict 'refs';    ## no critic
    *{ caller() . '::round_house_kick_to_the_perl' } = \&round_house_kick_to_the_perl;
    *{ caller() . '::round_house_kick_to_the_text' } = \&round_house_kick_to_the_text;
}

my %mostly_defaults = (
    'Regex'  => 1,
    'Binary' => 0,
);

my %defaults_overridable = (
    'Gap'            => 1,
    'InformHandler'  => sub { },
    'TrailingSpaces' => 1,
);

sub round_house_kick_to_the_text {
    require Acme::EyeDrops;
    return Acme::EyeDrops::sightly(
        {
            %defaults_overridable,    # allow caller to override these in @_
            @_[ 1 .. $#_ ],
            ( ref( $_[0] ) eq 'SCALAR' ? ( 'SourceString' => ${ $_[0] } ) : ref( $_[0] ) ? ( 'SourceHandle' => $_[0] ) : ( 'SourceFile' => $_[0] ) ),
            'ShapeString' => join( '', <DATA> ),
            'Shape'       => undef,
            %mostly_defaults,         # not overridable
            'Print' => 1,
        }
    );
}

sub round_house_kick_to_the_perl {
    require Acme::EyeDrops;
    return Acme::EyeDrops::sightly(
        {

            # allow caller to override the below options in @_
            %defaults_overridable,
            %mostly_defaults,    # overridable
            'TrapEvalDie' => 1,
            'TrapWarn'    => 1,

            # allow caller to override the above options in @_
            @_[ 1 .. $#_ ],
            ( ref( $_[0] ) eq 'SCALAR' ? ( 'SourceString' => ${ $_[0] } ) : ref( $_[0] ) ? ( 'SourceHandle' => $_[0] ) : ( 'SourceFile' => $_[0] ) ),
            'ShapeString' => join( '', <DATA> ),
            'Shape'       => undef,
        }
    );
}

'When Chuck Norris is SCUBA diving and surfaces too fast the ocean gets the bends.';    # return true, so very very true

__DATA__
                                                                                                                                                
                                                                  ################                                                              
                                                                ######################                                                          
                                                        ################################                                                        
                                                    ####################################  ##                                                    
                                                  ############################################                                                  
                                                ##########################################  ##                                                  
                                              ##################################################                                                
                                              ##################################################                                                
                                            ######################################################                                              
                                            ######################################################                                              
                                            ######################################################                                              
                                            ########################################################                                            
                                            ########################################################                                            
                                            ########################################################                                            
                                          ################################  ##########################                                          
                                            ##########################            ####################                                          
                                            ######################  ##            ####################                                          
                                            ######################                  ####################                                        
                                            ######################                  ####################                                        
                                            ############                              ##################                                        
                                              ################                        ##################                                        
                                              ##########                              ##################                                        
                                                ############  ##############            ########  ######                                        
        ####                                    ############  ##############              ##############                                        
        ######                                  ############    ############          ####        ####                                          
          ######                                ############    ####                  ####      ######                                          
          ######                                ############                          ####      ######                                          
            ######                              ####    ####                          ####    ######                                            
            ########                            ####    ####                          ####    ######                                            
              ##########                          ##    ##                          ######  ######                                              
              ############                        ##  ####          ##                ####  ######                                              
                ##########                        ########        ##                  ##                                                        
              ##############    ########            ######  ######                ######      ##                                                
                ##################      ##          ############                ########      ####                                              
                  ######  ##      ####  ##          ########################  ##########        ####                                            
                  ############        ##################################################      ######                                            
                  ##############    ##############################    ################        ########                                          
                  ##############    ############################        ############        ##########                                          
                  ################    ##############################################        ##########                                          
                    ################    ############################################      ##############                                        
                    ################    ############################################    ##################                                      
                      ############  ######  ########################################  ########################                                  
                      ####################  ####################################################################                                
                        ##################  ######################################################################                              



( run in 2.637 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )