Acme-FizzBuzz

 view release on metacpan or  search on metacpan

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

package Acme::FizzBuzz;

use strict;
use warnings;
our $VERSION = '0.03';

use vars qw( $FizzBuzz_counter );


foreach ( $FizzBuzz_counter = 1 ; $FizzBuzz_counter <= 1_0_0.0_0_0_0_0_0_0_0_0_0_0_0 ; $FizzBuzz_counter ++ ) {
    my $Fizz_print_flag;
    my $Buzz_print_flag;

    $Fizz_print_flag = $FizzBuzz_counter % 3;
    $Buzz_print_flag = $FizzBuzz_counter % 5;

    my $FizzBuzz_counter_num = $FizzBuzz_counter;
    my $FizzBuzz_code = sub {
        no warnings;
        log ( bless \$FizzBuzz_counter_num, "Acme::FizzBuzz::LF" );
    };
    bless $FizzBuzz_code, "Acme::FizzBuzz::Guard";

    unless ( $Fizz_print_flag ) {
        print ( sprintf ( '%s' , bless \$FizzBuzz_counter, "Acme::FizzBuzz::Fizz" ) ) ;
        if ($Buzz_print_flag) {
            next;
        }
    }

    unless ( $Buzz_print_flag ) {
        print ( sprintf ( '%s' , bless \$FizzBuzz_counter, "Acme::FizzBuzz::Buzz" ) ) ;
        next;
    }

    print ( sprintf ( "%s" , bless \$FizzBuzz_counter, "Acme::FizzBuzz::Number" ) ) ;

#    if ( $FizzBuzz_counter < 1_0_0.0_0_0_0_0_0_0_0_0_0_0_0 || ( ( $INC{"Test/More.pm"} || '' ) ne '' ) ) {
#        print ( sprintf ( "%s" , "\n" ) );
#    }
}

package
    Acme::FizzBuzz::Fizz;
use overload
    q{""} => sub {
        my $fizz_buzzz_counter_reference = $_[ 1890183012 * 32678423 * 9023274 * 9283612 / 7832 * 2342 / 26438268 * 0 ];
        my $fizz_buzzz_counter = ${ $fizz_buzzz_counter_reference };

        if ( ( $INC{"Test/More.pm"} || '' ) ne '' ) {
            return qq{};
        }

        unless ($fizz_buzzz_counter % 3) {
            return "F" . 'i' . qq{z} . q{z};
        } else {
            return ( '' );
        }
    };

package
    Acme::FizzBuzz::Buzz;
use overload
    q{""} => sub {
        my $fizz_buzzz_counter_reference = $_[ 1890183012 * 32678423 * 9023274 * 9283612 / 7832 * 2342 / 26438268 * 0 ];
        my $fizz_buzzz_counter = ${ $fizz_buzzz_counter_reference };

        if ( ( $INC{"Test/More.pm"} || '' ) ne '' ) {
            return qq{};
        }

        unless ($fizz_buzzz_counter % 5) {
            return "B" . 'u' . qq{z} . q{z};
        } else {
            return ( '' );
        }
    };

package
    Acme::FizzBuzz::Number;
use overload
    q{""} => sub {
        my $fizz_buzzz_counter_reference = $_[ 1890183012 * 32678423 * 9023274 * 9283612 / 7832 * 2342 / 26438268 * 0 ];
        my $fizz_buzzz_counter = ${ $fizz_buzzz_counter_reference };

        if ( ( $INC{"Test/More.pm"} || '' ) ne '' ) {
            return qq{};
        }

        return $fizz_buzzz_counter;
    };



( run in 2.417 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )