Skip to content

Instantly share code, notes, and snippets.

@mshock
Created April 27, 2015 00:14
Show Gist options
  • Save mshock/3d7bf09b0aa1a06fd8dd to your computer and use it in GitHub Desktop.
Save mshock/3d7bf09b0aa1a06fd8dd to your computer and use it in GitHub Desktop.
fizzbuzz in Perl using a generator
#! perl -w
use strict;
use List::Gen;
my $range;
$range = cache gen {$_} range 1, 100;
sub fizzbuzz {
my ($range, $triggers) = @_;
while (my $num = $range->next) {
my $res;
foreach my $trigger (@$triggers) {
my ($text, $divisor) = @$trigger;
$res = $text if $num % $divisor == 0;
}
print $res ? $res : $num, "\n";
}
}
fizzbuzz($range, [['fizz', 3], ['buzz', 5]]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment