Skip to content

Instantly share code, notes, and snippets.

@mackee
Created October 28, 2012 06:23
Show Gist options
  • Save mackee/3967863 to your computer and use it in GitHub Desktop.
Save mackee/3967863 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use DDP;
use 5.012;
use Test::More;
my @numerals = qw/zero one two three four five six seven eight nine ten/;
my $result = {
zero => 0,
one => 1,
two => 2,
three => 3,
four => 4,
five => 5,
six => 6,
eight => 8,
nine => 9,
seven => 7,
ten => 10,
};
subtest 'for and 0..10' => sub {
my %numeral_to_number = ();
for my $value (0..10) {
$numeral_to_number{$numerals[$value]} = $value;
}
is_deeply $result, \%numeral_to_number;
};
subtest 'while and each' => sub {
my %numeral_to_number = ();
while (my ($number, $numeral) = each(@numerals)) {
$numeral_to_number{$numeral} = $number;
}
is_deeply $result, \%numeral_to_number;
};
subtest 'List::MoreUtil::zip' => sub {
use List::MoreUtils qw/zip/;
my @indexes = (0..10);
my %numeral_to_number = zip(@numerals, @indexes);
is_deeply $result, \%numeral_to_number;
};
done_testing;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment