| Acme-FizzBuzz documentation | Contained in the Acme-FizzBuzz distribution. |
Acme::FizzBuzz - The FizzBuzz program can be written shortest
$ perl -MAcme::FizzBuzz -e ''
or
$ export PERL5OPT="-MAcme::FizzBuzz" $ echo '' | perl
Acme::FizzBuzz is The FizzBuzz program can be written shortest.
Kazuhiro Osawa <yappo {{{{}}}} shibuya {ddddoooott} pl>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Acme-FizzBuzz documentation | Contained in the Acme-FizzBuzz distribution. |
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; }; package Acme::FizzBuzz::LF; use overload q{log} => 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{}; } if ($fizz_buzzz_counter < 1_0_0.0_0_0_0_0_0_0_0_0_0_0_0) { print ( sprintf ( "%s" , "\n" ) ); } else { return; } }; package Acme::FizzBuzz::Guard; sub DESTROY { my $fizz_buzzz_barusu = $_[ 6256358245862234242 * 0 ]; $fizz_buzzz_barusu->(); } package Acme::FizzBuzz; 1; __END__